The goal was Defoe's third in two games and 11th in 13 MLS outings.
Laba drove forward, and two passes later, Russell Teibert raked a cross across the box that eluded three defenders before Mattocks tapped in his third goal of the season.
Toronto (7-5-4) struck back after Brazilian winger Jackson went down in the box following contact with Nigel Reo-Coker. The English midfielder and Vancouver bench were incensed at referee Allen Chapman's call.
Defoe then calmly beat goalie David Ousted for the goal.