In 2012, Carpenter started his own team, Ed Carpenter Racing, driving the No. 20 Dallara-Chevrolet. During the season, Carpenter struggled in qualifying and, in the first 14 races of the season, had a best start of 19th in the Firestone 550 at Texas. Carpenter further struggled on non-oval races, resulting in a best finish of 12th place at the Chevrolet Detroit Belle Isle Grand Prix at Belle Isle. On the ovals Carpenter was more competitive; at the Indianapolis 500 Carpenter crashed during Pole Day qualifying and re-qualified on Bump Day. Carpenter started in 28th place and moved into the top five in the late stages of the race only to spin on lap 180, which took Carpenter out of contention; he finished in 21st place, one lap down. At Texas, Carpenter started in 19th place and quickly moved up through the field, only to finish in 12th place after dropping back late in the race. At the Milwaukee IndyFest at the Milwaukee Mile, Carpenter started in 22nd place and finished in 8th place, his first top ten of the season. Carpenter had another 8th-place finish at the Iowa Corn Indy 250 at Iowa after starting in 21st place. Carpenter then started in 8th place at the Grand Prix of Baltimore but he crashed on lap 7 of the race, and was scored in 25th place. For the season-ending MAVTV 500 IndyCar World Championships at Auto Club Speedway, Carpenter started in 5th place and quickly challenged for the lead, which he held for 62 laps. Going into the last lap, Carpenter attempted to pass leader Dario Franchitti just as Takuma Sato lost control in turn 4. Carpenter completed the pass before the caution came out, and as a result, achieved his second IndyCar win. Carpenter finished the season ranked in 18th place, with 261 points. Carpenter finished in 7th place in the sub-classification for oval races, with 133 points.