Atlanta (6-3-2) snapped the Whitecaps' (3-6-3) two-game winning streak.
Atlanta keeper Brad Guzan had two saves and picked up his sixth shutout of the season.
Maxime Crepeau stopped five shots for the Whitecaps.
Martinez scored the game's only goal on a penalty kick. The kick was called after Vancouver winger Lass Bangoura ran into Atlanta's Gonzalo Martinez.
Officials reviewed the play and determined it was a foul in the penalty area.
Josef Martinez stepped up to take the kick, sending the ball past Crepeau on the right side for his fifth goal of the season. He led the league with 31 goals in 34 games last year.
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.