TORONTO -- Jermain Defoe scored on a penalty shot as Toronto FC entered the World Cup break on a high note with a 1-0 victory over the San Jose Earthquakes on Saturday.

Defoe's goal came in the 26th minute, awarded when Nick Hagglund was pulled down in the box. The former Tottenham Hotspur star stepped up and slotted the ball to the far left corner, to the delight of the capacity crowd of 22,591 at sun-soaked BMO Field.

The afternoon marked Toronto's last Major League Soccer game before the three-week hiatus for the World Cup, and coach Ryan Nelsen had said a victory would send his team into the break with added confidence and put the squad in a good spot in the league standings.

Toronto, now undefeated in four MLS games, went into the game in sixth in the Eastern Conference, just one spot out of a playoff position with several games in hand.

The victory boosted Toronto's record to 6-4-1, while San Jose dropped to 4-5-4.

Toronto had turned its attention back to the MLS after their loss the Montreal Impact in the Amway Canadian Championship, which doesn't count toward league standings, on Wednesday.

Hagglund had several scoring chances, including two in less than a minute midway through the first half. On the first, he forced the Jon Busch to make a diving save. The TFC defender fired the second shot just wide of the net.

He almost scored in the 68th off a free kick after some angry moments from Nelsen and his players. Newcomer Dominic Oduro was sprinting onto a pass in the air that San Jose's Clarence Goodson reached up and stopped with his hand. Toronto players were arguing for a red card, but were awarded a free kick instead, which Hagglund headed just wide of the post.

Oduro, acquired in a trade Friday that sent Alvaro Rey to the Columbus Crew, came on in the 64th minute, and the fans soon got to see the blistering speed for which the Ghanian midfield/forward is known.

The colourful Oduro is also known for the elaborate designs he shaves into his hair, still had Columbus-yellow stripes died into his hair on either side of his mohawk.

The 28-year-old had a career-high 13 goals last season, including two against Toronto.

Brazilian Gilberto had been pencilled into the starting lineup, but was replaced by Kyle Bekker just prior to kickoff after Gilberto was injured during warmup.

Toronto doesn't play another league game until June 27 when they travel to New York to face the Red Bulls.