The 32-year-old from Moscow was playing in her first final since last year at New Haven and took her first title since 2008 at Quebec City. Petrova was battling back after a struggle with vertigo for six weeks in March and April.
Peer broke Petrova to open both sets but each time Petrova broke back in the fourth game, reaching 2-2 in the first set on a Peer double fault and in the second set on an overhead smash winner.
Peer saved three break points in the eighth game of the first set but Petrova broke through in the 12th game, claiming the set after 55 minutes when Peer sent a backhand beyond the baseline.
After Peer broke and held to open the second set, Petrova won the final six games, finishing off the match after 87 minutes when Peer sent a forehand long.
Former World No 3 Petrova, now ranked eight spots below Peer at 32nd, took the $37 000 top prize and improved to 6-0 lifetime against Peer, who has only taken one set off Petrova.
Peer, who began the week on a five-match losing streak, missed a chance for her sixth career WTA title. Peer, 24, won her most recent titles in 2009 at Guangzhou and Tashkent.