In 2007, just fifteen years old, Muñoz made his debut in single-seaters, racing in the Formula TR Pro Series. He took one podium place in four races to end the season in eighth place.
The following season, Muñoz competed in both the Eurocup Formula Renault 2.0 and Formula Renault 2.0 West European Cup championships for Epsilon Euskadi. He finished eighth in the Eurocup standings, taking ten points-scoring positions in fourteen races, including a podium in the second race at the Nürburgring.[2] In the West European Cup, he took seventh place in the championship, scoring two podium places.[3]
In 2011 Muñoz returned to F3 Euro Series, this time driving for Signature. He finished eighth in the championship with a best finish of third at Silverstone Circuit.
Indy Lights
In 2012, Muñoz moved to the United States to compete in the Indy Lights series for Andretti Autosport.[6] He captured two victories, including one on the oval at Auto Club Speedway and a win from the pole in Edmonton, in addition to three other podium finishes on his way to fifth in the championship. Muñoz returned to the series for the 2013 season with Andretti Autosport and announced a deal to compete in the 2013 Indianapolis 500 with the team.
IndyCar Series
Muñoz qualified on the front row for the 2013 Indy 500 in second position and ran with the leaders all race long. He led twelve laps and finished in second place, winning Rookie of the Year honors.[7]
At the 2013 Honda Indy Toronto, Muñoz replaced Panther Racing's Ryan Briscoe for Race 2 of the doubleheader after Briscoe broke his right wrist in an incident during Saturday's Race 1. After just 12 laps in the morning warmup to get acclimated with the car, Muñoz started 24th in the race and finished 17th.
After a distant second-place finish to teammate Alexander Rossi in the 2016 Indianapolis 500, Muñoz left Andretti Autosport after the 2016 IndyCar season ended. Muñoz joined A. J. Foyt Enterprises for the 2017 IndyCar season, lasting one season.
In 2018, Muñoz made his return to Andretti in a one-race deal at the 2018 Indianapolis 500, finishing seventh. Later in the season, he filled in for the injured Robert Wickens for the final two races of the season at Portland and Sonoma, driving for Schmidt Peterson Motorsports. Muñoz started 14th and finished 12th at Portland.