Fellow Toronto newcomer Robbie Findley also scored. Octavio Rivero had opened the scoring for Vancouver.
Altidore scored the equalizer in the 32nd minute after some great work by Sebastian Gionvinco. The Italian slid a pass through to Altidore and the U.S. national team star beat goalkeeper David Ousted from a tight angle.
Findley made it 2-1 in the 59th minute, scoring off a cross.
Altidore completed the scoring with a late penalty after being dragged down by Pa-Modou Kah.
D.C. UNITED 1, MONTREAL 0
WASHINGTON — Jairo Arrieta scored in the 58th minute and D.C. United beat Montreal for the Washington club's first season-opening victory since 2011.
After Bill Hamid's save, D.C. United pushed the ball up field and Arrieta slid the ball under Evan Bush, who had come out to the corner of the 18-yard box to attempt an interception of Chris Rolfe's lofted pass. Three minutes later, United's Chris Pontius almost doubled the lead but hit the crossbar from just outside the 6-yard box.
United was without its two leading goal scorers from last season: Luis Silva has a hamstring injury and Fabian Espindola was suspended.
PHILADELPHIA 0, COLORADO 0
CHESTER, Pennsylvania — Colorado held off Philadelphia's second-half charge as the 10-manned Rapids played out a scoreless draw at the Union.
Colorado's Bobby Burling received his second yellow card in the 68th minute after taking down Sebastien Le Toux.
HOUSTON 1, COLUMBUS 0
HOUSTON — Giles Barnes scored in the 66th minute to give Owen Coyle his first victory as an MLS coach with a 1-0 home win against Columbus.
Kofi Sarkodie took a long forward pass from Raul Rodriguez and made a run on the right. He beat a defender and squared to Barnes near the penalty spot. Barnes' shot settled past the outstretched hand of Steve Clark and just under the crossbar.
DALLAS 1, SAN JOSE 0
FRISCO, Texas — Blas Perez head home in the second minute of stoppage time to give Dallas victory over San Jose.
Perez was 6 yards out when he redirected a blast that Moises Hernandez sent wide.
The loss extended the Earthquakes' franchise-worst winless streak to 16 games in coach Dominic Kinnear's return to the club after a 10-year absence.
PORTLAND 0, REAL SALT LAKE 0
PORTLAND, Oregon — Real Salt Lake secured an away draw at Portland.
Real Salt Lake has not lost in its past six season openers, all of them away from home.
The match marked the Portland debut of Nat Borchers, who spent seven years with Salt Lake. Borchers, a two-time MLS defender of the year, was a key contributor on Salt Lake's 2009 MLS Cup-winning team.