Porte attacked two kilometres from the top of Brentonico Parco Del Baldo, distancing his rivals as he did.
He finished 16 seconds ahead of Mikel Landa (Astana) and 32 ahead of Damiano Cunego (Nippo-Vini Fantini).
The victory puts him in the race lead with a 24 second buffer over Landa with two stages remaining.
"It’s nice to come here and win a stage like today," said Porte. "It was such a hard stage. It was great to see Bora honour the jersey and do the work they did. But credit to my team and especially Kosta Siutsou – he was incredible today. I’m really happy with how it turned out.
"I didn’t feel at my best today. I came down from altitude on Friday, but to win with legs like I had today is a massive confidence booster. But it’s a team sport and the work the guys put in today for me was the cherry on top of the icing on the cake."
"It’s a beautiful region of Italy. The scenery is spectacular but I’m here to win this race. It’s the last big hit out for me before the Giro. I’m happy with where my form is going into the Giro d’Italia.
Stage 2: 168.2km, Dro - Brentonico Parco Del Baldo
1 Richie Porte (AUS) Sky 4hr 36min 37sec
2 Mikel Landa Meana (ESP) Astana 0:00:16
3 Damiano Cunego (ITA) Nippo-Vini Fantini 0:00:32
4 Leopold Konig (CZE) Sky
5 Rodolfo Torres (COL) Colombia
6 Edoardo Zardini (ITA) Bardiani CSF
7 Dario Cataldo (ITA) Astana 0:00:43
8 Stefano Pirazzi (ITA) Bardiani CSF
9 Louis Meintjes (RSA) MTN-Qhubeka
10 José Mendes (POR) Bora-Argon 18 0:00:49
1 Richie Porte (AUS) Sky 4hr 50min 32sec
2 Mikel Landa Meana (ESP) Astana 0:00:24
3 Leopold Konig (CZE) Sky 0:00:42
4 Dario Cataldo (ITA) Astana 0:00:57
5 José Mendes (POR) Bora-Argon 18 0:00:59
6 Damiano Cunego (ITA) Nippo-Vini Fantini 0:01:09
7 Louis Meintjes (RSA) MTN-Qhubeka 0:01:17
8 Edoardo Zardini (ITA) Bardiani CSF 0:01:18
9 David Lopez (ESP) Sky 0:01:23
10 Stefano Pirazzi (ITA) Bardiani CSF 0:01:29
SBS will brodcast every stage of the Giro d'Italia live.