The victory for the Washington team kept it level with New England atop the East standings, three points above Columbus as all three teams won on the day. Vancouver missed a chance to build on its two-point lead atop the Western Conference.
Whitecaps captain Pedro Morales opened the scoring in the second minute but D.C. United soon equalized, when Bobby Boswell scored in the ninth.
Vancouver (5-3-1) was reduced to 10 men in the 42nd minute when midfielder Matias Laba picked up his second yellow card for clipping the foot of onrushing Fabian Espindola. Laba was carded earlier for handball.
Rolfe's winner saw D.C. United improve its unbeaten streak to five games.
NEW ENGLAND REVOLUTION 4, REAL SALT LAKE 0
Scott Caldwell scored his first MLS goal and had an assist to help New England cruise past Real Salt Lake.
Chris Tierney and Juan Agudelo also scored for the Revolution, which is unbeaten in six games.
HOUSTON DYNAMO 4, SPORTING KANSAS CITY 4
Benny Feilhaber scored from distance in stoppage time to give Sporting Kansas City a share of the points in an eight-goal thriller.
Krisztian Nemeth gave Sporting KC the lead in the second minute before Houston's Giles Barnes tied it 9 minutes later.
Will Bruin's glancing header on Brad Davis' corner gave Houston a 2-1 lead just before halftime and Barnes scored from distance in the first minute after the intermission to give the Dynamo a 3-1 lead.
Barnes' errant back pass in the 74th minute was intercepted by Dominic Dwyer intercepted, who pulled Sporting back to 3-2. Houston's Jermaine Taylor was given a red card in the 79th minute for a handball in the penalty area and Feilhaber's penalty made it 3-3.
Raul Rodriguez put Houston back in front 3 minutes later after heading in Davis' free kick, only for Feilhaber to again equalize.
COLUMBUS CREW 4, PHILADELPHIA UNION 1
Columbus' Ethan Finlay had two goals and an assist to lead the Crew to a 4-1 home win against Philadelphia.
Kei Kamara, Finlay and Justin Meram scored in the first half to help the Crew, and Finlay added an insurance goal on a breakaway in the 73rd minute.
Kamara, in his 200th career MLS game, score his fifth goal of the season, tying him with Octavio Rivero for the league lead.
Eric Ayuk scored on a header for the Union in the 64th minute; the first goal the Crew had conceded in 272 minutes.