Wie die meisten Motorsportler begann Muñoz seine Karriere im Kartsport, in dem er von 2002 bis 2007 aktiv war. Außerdem gab er 2007 in der Formel TR Pro Series FR 1600 sein Debüt im Formelsport und wurde mit einer Podest-Platzierung Achter in der Gesamtwertung. 2008 trat der Rennfahrer für das Prema Powerteam sowohl in der italienischen Formel Renault, in der er den 16. Gesamtrang belegte, als auch im Formel Renault 2.0 Eurocup, in dem er ohne Punkte blieb, an. 2009 wechselte Muñoz zu Epsilon Euskadi, für die er in der westeuropäischen Formel Renault und im Formel Renault 2.0 Eurocup antrat. Mit insgesamt drei Podest-Platzierungen belegte er den siebten Gesamtrang in der westeuropäischen Formel Renault und den achten Gesamtrang im Formel Renault 2.0 Eurocup. In beiden Serien musste er sich seinem Teamkollegen Albert Costa, der beide Meistertitel einfuhr, geschlagen geben. Darüber hinaus nahm er für Porteiro Motorsport startend an sechs Rennen der European F3 Open teil und beendet die Saison mit zwei Podest-Platzierungen auf dem elften Platz im Gesamtklassement.
2010 wechselte Muñoz zu Mücke Motorsport in die Formel-3-Euroserie.[1] Am Saisonende belegte er mit einem zweiten Platz als bestes Resultat den neunten Gesamtrang. Außerdem absolvierte er Gaststarts in der britischen Formel-3-Meisterschaft und nahm an zwei Rennen der European F3 Open teil. 2011 startete Muñoz in der Formel-3-Euroserie für Signature.[2] Er beendete die Saison auf dem achten Platz der Meisterschaft. Darüber hinaus war Muñoz in der FIA-Formel-3-Trophäe 2011 punkteberechtigt. Dort erzielte er den sechsten Gesamtrang.
2012 verließ Muñoz Europa und wechselte nach Nordamerika zu Andretti Autosport in die Indy Lights.[3] Er gewann zwei Rennen und kam bei fünf Rennen auf einem Podiums-Platz ins Ziel. Am Saisonende lag er auf dem fünften Gesamtrang. 2013 blieb Muñoz bei Andretti Autosport in der Indy Lights. Er gewann die Rennen in Birmingham, Long Beach und Long Pond und Fontana. Obgleich kein anderer Fahrer mehr Siege erzielt hatte, beendete er die Saison auf dem dritten Rang. Zudem debütierte Muñoz 2013 für Andretti Autosport in der IndyCar Series und nahm am Indianapolis 500 teil.[4] Bei diesem Rennen qualifizierte er sich für den zweiten Startplatz. Im Rennen lag er zwölf Runden in Führung und kam als bester Fahrer seines Rennstalls auf dem zweiten Platz ins Ziel. Im weiteren Saisonverlauf kam er bei Panther Racing als Vertretung für den verletzten Ryan Briscoe und bei Andretti Autosport als Vertretung für den erkrankten E. J. Viso bei je einem Rennen zum Einsatz.
2014 erhielt Muñoz bei Andretti Autosport ein Vollzeitcockpit in der IndyCar Series.[5] Der Einsatz wurde von HVM Racing unterstützt. Bereits beim zweiten Saisonrennen in Long Beach stand er als Dritter auf dem Podest. In Houston und Long Pond kam er bei weiteren Rennen auf dem zweiten Platz ins Ziel. Muñoz wurde bester Rookie und zweitbester Andretti-Fahrer. Er schloss die Saison auf dem achten Platz ab. 2015 blieb Muñoz bei Andretti Autosport in der IndyCar Series. Beim ersten Rennen in Detroit gelang ihm sein erster IndyCar-Sieg. Er beendete die Saison als schlechtester Andretti-Vollzeit-Pilot auf dem 13. Gesamtrang. 2016 absolvierte Muñoz eine weitere IndyCar-Saison für Andretti. Sein bestes Ergebnis erreichte er beim Indianapolis 500, bei dem er hinter seinem Teamkollegen Alexander Rossi Zweiter wurde. Muñoz wurde als bester Andretti-Fahrer Zehnter in der Fahrerwertung. 2017 trat er für A. J. Foyt Enterprises an. Nach einem siebten Platz im zweiten Rennen in Long Beach folgten noch fünf weitere Platzierungen unter den ersten Zehn. In der Gesamtwertung belegte er den 16. Platz. 2018 trat er im Indianapolis 500 einmalig wieder für Andretti Autosport an. Er beendete das Rennen als Siebter. In den letzten beiden Rennen der Saison übernahm er das Cockpit des verletzten Robert Wickens bei Schmidt Peterson Motorsports.