In 2016 keerde Fernández terug in beide klassen. In de Rookies Cup won hij twee races op het TT-Circuit Assen en behaalde hij vier andere podiumplaatsen, waardoor hij met 195 punten derde werd in de eindstand. In de Spaanse Moto3 kwam hij uit op een Husqvarna en won hij de seizoensfinale op Valencia, waardoor hij met 137 punten eveneens derde werd in de eindstand. Aan het einde van dat jaar debuteerde hij tevens in de Moto3-klasse van het wereldkampioenschap wegrace op een KTM tijdens de Grand Prix van Valencia als vervanger van de geblesseerde María Herrera. Met een elfde plaats wist hij direct vijf punten te scoren.
In 2017 reed Fernández enkel fulltime in de Spaanse Moto3 op een Mahindra. Hij behaalde op het Autódromo do Estoril een pole position, maar kende verder een moeilijk jaar waarin een negende en een twaalfde plaats op Valencia zijn enige puntenfinishes waren. Met 11 punten eindigde hij op plaats 28 in het klassement. Daarnaast reed hij dat jaar drie races in het wereldkampioenschap Moto3 op een Mahindra. In Spanje reed hij mee met een wildcard, terwijl hij in de TT van Assen en de Grand Prix van Duitsland deelnam als vervanger van de geblesseerde Albert Arenas. Hij behaalde echter geen punten.
In 2018 kwam Fernández opnieuw uit in de Spaanse Moto3, waarin hij terugkeerde op een KTM. Hij won drie races op Valencia, Aragón en het Circuito de Albacete en behaalde vier andere podiumplaatsen. Met 209 punten werd hij overtuigend kampioen in de klasse. Daarnaast reed hij dat jaar in vier races in het wereldkampioenschap Moto3 op een KTM. In Catalonië, Aragón en Valencia nam hij deel met een wildcard, terwijl hij in Duitsland meedeed als vervanger van de geblesseerde Darryn Binder. Enkel in Aragón eindigde hij niet in de punten en een negende plaats in Duitsland was zijn beste klassering. Met 16 punten werd hij 28e in de eindstand.
In 2019 maakte Fernández zijn fulltime debuut in het wereldkampioenschap Moto3 op een KTM. Hij scoorde regelmatig puntenfinishes, met een vijfde plaats in Duitsland als beste resultaat. Met 60 punten finishte hij op plaats 21 in het klassement. In 2020 behaalde hij vijf pole positions, maar scoorde hij pas in de elfde race in Aragón zijn eerste podium. In de Grand Prix van Europa behaalde hij zijn eerste Grand Prix-overwinning.