Rodionova defeated the 26th seed from Russia, 6-7 (5-7), 6-3, 6-4 in two hours and 21 minutes.
The Australian reached the third round in Paris last year and will next play world number 131 Edina Gallovits-Hall of Romania.
World number 74 Rodionova, who has never reached the final 16 at a major, is the second Australian to progress at the French Open following Sam Stosur's opening round win on Sunday.
Petrova has found it tough going this year and the dogged Rodionova kept the pressure on the big Russian throughout the contest.
They traded service breaks early in the opening set before Petrova won the tie-break with a volley that just hit the line under the umpire's nose.
Rodionova asked for the mark to be inspected by the official and it was ruled in the Russian's favour.
The Australian responded by racing to a 5-1 lead in the second set before failing out to serve out for the set at her first attempt.
She started to vent her frustration on court before settling to win the set and take a crucial break against a fading Petrova early in the third.
The Australian won the contest on her third match point with Petrova spraying a forehand wide.
- AAPTags: sport, tennis, france