The Canada international netted twice in the second half, with one being a late penalty, as the Washington club overcame the 7th minute sending off of goalkeeper Bill Hamid to grab a point at home against a Toronto outfit that fell behind twice before hitting the lead with five minutes remaining.
De Rosario struck first for ten-man DC in the 19th minute when he received a short free-kick from Santino Quaranta before lashing home from distance, giving Toronto gloveman Stefan Frei no chance.
Peri Marosevic got TFC back on level terms seven minutes into the second half when he scored his second in two games with an easy tap-in after DC keeper Steve Cronin failed to hold onto Ashtone Morgan's cross from the left.
DC hit the lead again in the 64th minute when De Rosario pounced on Andy Iro's defensive blunder to round Frei and slot home before Julian de Guzman made it 2-2 with a thunderous finish from long range in the 69th.
Toronto then edged ahead with less than five minutes remaining when Danny Koevermans poked home through Cronin's arms but De Rosario came to the rescue after Austin da Luz was brought down in the area by Iro, stepping up to complete his hat-trick from the penalty spot for his ninth goal of the season.
In other MLS matches, Eric Hassli scored twice to help Vancouver Whitecaps to just their third win of the season with a 4-2 triumph over Chicago Fire, Alejandro Moreno netted a brace as Chivas USA won 3-2 at New England Revolution, Philadelphia Union and Houston Dynamo had a 1-1 draw, as did San Jose Earthquakes and Portland Timbers, Seattle Sounders scored twice at the death to snatch a 2-1 win against Sporting Kansas City, Real Salt Lake beat New York Red Bulls 3-0 as LA Galaxy extended their lead in the Western Conference to six points with a 3-1 home result over second-placed FC Dallas.
2011 MLS season - Week 21 scores