League MVP David Ferreira scored for Dallas in the first half before Colorado's Conor Casey tied it in the second.
In the second half of overtime, Colorado substitute Macoumba Kandji took a long pass from Casey inside the box and stabbed the ball across the face of the Dallas goal. His shot spun off John's left thigh and over the head of goalie Kevin Hartman. John was charged with an own goal.
Kandji, Colorado's third and final substitute, injured his left leg on the play and had to limp off, leaving the Rapids one player short for the final 12 minutes.
Kandji was slow to leave the field, leading to a confrontation with Dallas' Ugo Ihemelu, who accused him of wasting time. Ihelemu shoved Kandji as he hobbled slowly off the field, but was not disciplined.
Ferreira nearly set up the tying goal with five minutes left, sliding a pass across the box to Ihelemu, but the defender blazed his shot high.
Rapids goalie Matt Pickens made a crucial save in the final minute, pushing John's shot wide. Moments later, defender Drew Moor cleared a shot by Dallas striker Jeff Cunningham off the goal line.
Dallas opened the scoring in the 35th minute when winger Marvin Chavez fired an inch-perfect cross into the path of a streaking Ferreira, who used his right foot to hammer the ball past Pickens.
It was the second goal of the playoffs for Ferreira, who scored eight goals during the regular season and scored the opening goal in last weekend's 3-0 semifinal victory over the Los Angeles Galaxy.
Colorado tied it in the 57th minute. Jamie Smith cut into the penalty area and fired a low ball, with Casey arriving at the same time as Dallas goalie Kevin Hartman and defender Jair Benitez. Casey reacted fastest when the ball squirted loose, kicking it into the goal while still lying on the grass.
The Rapids nearly took the lead five minutes later on a free kick by Jeff Larentowicz, but Hartman dove to his left to push the low, hard shot around his far post.
Colorado players surrounded referee Baldomero Toledo in anger after he denied the Rapids the chance to take a corner kick with time winding down at the end of the second half, blowing his whistle to send the game to extra time.
There was also controversy in the 27th minute when Casey went down inside the box while battling with Benitez. Toledo did not award a penalty, causing Casey to slam his palms to the grass in frustration.
Dallas defender Jackson Goncalves left in the 34th minute with a sore left hip and was replaced by Zach Lloyd.
Former Toronto FC striker Cunningham, who scored 11 goals for Dallas this season, was booed by fans when he replaced Brek Shea in the 64th minute.
Notes: The Rapids are the fourth different MLS champion in the past four years. ... The Rapids were playing in the MLS Cup for the second time and first since 1997. Dallas was playing in the championship game for the first time. ... Attendance was announced at 21,700, a sellout, but there were hundreds of empty seats scattered around the stadium. ... Temperature at kickoff was 45 degrees, tied with the 2009 game in Seattle for the coldest MLS Cup on record. The inaugural game at Foxboro Stadium in 1996 was played in 44 degree weather during a torrential downpour.