TORONTO -- Jozy Altidore and Jordan Hamilton scored second-half goals to give Toronto FC a 2-0 win over D.C. United on Saturday night, stretching TFC's home unbeaten streak to nine games.

Sebastian Giovinco assisted on both goals.

While the game matched the first- and ninth-placed teams in the Eastern Conference, D.C. United (4-8-3) was by no means an easy out and proved to be a stubborn opponent. League-leading Toronto (9-2-5) pushed the pace but D.C. United goalkeeper Bill Hamid was equal to the task for an hour.

The game marked captain Michael Bradley's 100th in all competitions for Toronto. It was also the first opportunity for coach Greg Vanney to field all three designated players -- Bradley, Altidore and Giovinco -- since May 3 due to injuries and international duty.

And the three stars engineered the breakthrough goal in the 60th minute after Bradley broke up a D.C. United attack. He fed the ball to Giovinco, who split the defence with a perfect pass to Altidore. The U.S. international pushed the ball ahead with a fine first touch and then calmly beat Hamid from the edge of the box for his seventh of the season.

Hamilton, who had come on in the 75th minute, made it 2-0 on a wonderful glancing header off a Giovinco corner in the 85th minute.

All three Toronto DPs were yellow-carded in a game that grew chippier as the evening wore on before a crowd of 28,627 on a warm night at BMO Field.

Bradley's 68th-minute caution means he will miss next Friday's game against New England because of yellow card accumulation.

While D.C. United proved resolute on defence, its offence was missing in action once again.

Ben Olsen's team has not scored in 299 minutes in league play and has just one goal, via penalty kick, in its last seven league outings (1-5-1). Its last league goal in open play came April 30th in a 3-1 win over Atlanta.

It was the first of six games in 19 days for Toronto. The scheduling logjam includes the two-legged Canadian Championship final with Montreal.

Vanney's team was well-rested, however. It had not played since June 3, a 3-0 loss in New England that snapped an eight-game unbeaten streak (7-0-1).

Still, Toronto is 7-0-2 in its last nine home games, a run that includes a win last season.

After an even start, Toronto began to take control and string together attacks. Giovinco had a couple of good chances midway through the first half, shooting wide on the first and stopped by Hamid on the second.

Giovinco was booked late in the 40th minute for throwing the ball in disgust after being called for a foul. A sliding Lamar Neagle just missed for D.C. United late in the half.

The message at halftime from Vanney was be patient.

Toronto screamed for a penalty in the 54th minute when a ball appeared to hit Canadian-raised defender Kofi Opare on the arm in the box. But referee Jose Carlos Rivero was unmoved.

Altidore was booked in the 65th minute for a tackle on defender Steve Birnbaum. The two had tangled minutes earlier and Altidore was clearly upset at the contact.

Substitute Raheem Edwards came close in the 84th minute but his header was handled by Hamid.