Saxobank rider Porte left previous leader Alexandre Vinokourov trailing in his wake as he snatched the lead after riders were again drenched.
The 262km 11th stage, the longest of the three-week Giro, was so inundated with rain that the peleton wore wet weather jackets to protect them from the foul weather which has dominated this year's race.
Nothing could stop a large breakaway group early on, however, and Astana's Vinokourov was stuck way down the field as Porte took up a position towards the front.
The unheralded Australian, who had been sixth overall, suddenly has a one minute, 42 seconds race lead over Spain's David Arroyo of Caisse D'Epargne.
"It was a long, hard day. I had two team mates who annihilated themselves for me. It's thanks to the team," Porte, a Tasmanian like stage nine winner Matthew Goss, told Rai TV.
"This week Tasmania is showing itself to be the centre of cycling in Australia."
Kazakhstan's Vinokourov had led since stage seven but is remarkably now down in 12th spot almost 10 minutes adrift of Porte.
Petrov won the stage after pulling away late on and whipping off his slightly ironic sunglasses as he crossed the line in the rain.
"I'm really happy. I want to say hello to my wife. I did it, I did it," he screamed.
Petrov completed the route in six hours, 28 minutes - 29 seconds ahead of Dario Cataldo and Carlos Sastre.
The stage finished in the central Italian city of L'Aquila, devastated by a huge earthquake in April 2009, and passed through several villages which had also been hit.
Many charity events connected to the Giro are taking place to raise money for the area.
Thursday's 12th stage goes from Citta Sant'Angelo to Porto Recanati along Italy's east coast with two tough mountain stages due at the weekend.
Giro d’Italia: Thursday 1.45pm LIVE on British Eurosport (Sky 410 / Virgin 521) & on the Eurosport Player.