The Impact, which opened with wins in Seattle and Portland to match its total road victories last year, became the first Major League Soccer team to win three games this season.
Bernier scored in the 34th minute after Toronto’s Ashtone Morgan fouled Andres Romero in the penalty area. Bernier, team MVP last season, hesitated on his penalty kick and sent Reds goalkeeper Joe Bendik diving to his right before putting the ball into an open right side. Di Vaio made it 2-0 just before the half. Davy Arnaud sent a ball forward for Di Vaio, who scooted around Bendik.
Robert Earnshaw scored on a penalty kick in the 68th minute for Toronto (1-2-0).
Rapids 1, at Real Salt Lake 1: Alvaro Saborio scored late in the second half to help Real Salt Lake (1-1-1) rally for the tie with Colorado (0-2-1) in the first leg of the Rocky Mountain Cup rivalry series.
D.C. United 0, at Red Bulls 0: Bill Hamid made eight saves for D.C. United (1-1-1), including a diving save on Brandon Barklage’s shot off a corner kick in stoppage time, which came close to crossing the goal line for New York (0-1-2).
Earthquakes 1, at Crew 1: Justin Morrow scored in the 74th minute, his first goal since May 2, to pull San Jose (1-1-1) even with Columbus (1-1-1).
At Union 1, Revolution 0: Jack McInerney scored in the 76th minute as Philadelphia (2-1-0) defeated New England (1-1-0) to improve its all-time record against the Revolution to 5-0-3.
Fire 0, at Sporting Kansas City 0: Chicago (0-2-1) got its first point of the year by tying Sporting Kansas City (1-1-1).
The Fire almost scored when Dan Paladini got free in front of Kansas City’s goal in the 90th minute, but Jimmy Nielsen made the save to preserve his first shutout of the year.

