The home side did get their equaliser in the 37th minute when Michel's corner from the right was headed in at the near post by Matt Hedges.
Cesar kept the score level just before the break as he produced an excellent save to deny David Texeira from a close-range header, after he latched onto Mauro Diaz's cross from the left.
After the break, Dallas upped the ante and went close to taking the lead when Fabian Castillo raided down the left and cut back onto his right foot, but his shot went just wide of the post.
Toronto hit back with a great opportunity of their own as Gilberto raced through on goal and the laid the ball back to Jackson, but the midfielder skewed his shot wide of the target.
The home side got the winner two minutes from time when a long ball was played into the box and Hedges knocked the ball into the path of Perez, who turned the ball in from close range.