The trio crossed the line 11 seconds ahead of the peloton, who miscalculated the chase during the short and flat 157km transitional stage from Fossano to Rivarolo Canavese.
Triple stage winner Nacer Bouhanni (FDJ.fr) edged Italian Giacomo Nizzolo (Trek Factory Racing) for fourth place to extend his lead on the red jersey points standings - but the 23-year-old missed out on the chance to become the first Frenchman since Bernard Hinault in 1982 to win four stages on one Giro.
Colombia's Rigoberto Uran (Omega Pharma-Quick Step) finished safely in the pack to retain his 37-second lead over Australian veteran Cadel Evans (BMC) in the overall standings.
A leading six-man group made light work of a freak hailstorm with 30km remaining moments after crossing the summit of the only categorised climb - the Cat.4 ascent to Salita di Rivara - with an advantage of two and a half minutes.
The gap had been whittled down to 1:45 by the time the race passed through the finish town ahead of a final loop out-and-back. With 16km remaining, Canola's acceleration could only be matched by Rodriguez and Tulik, and the other three escapees were soon swallowed up by the pack.
But a lack of coordinated chase by the teams of the sprinters meant the leading trio still held more than a minute entering the final 5km.
The Garmin-Sharp team of Tyler Farrar and Nizzolo's Trek train came to the front to lead the chase - but it was too little too late and the leaders had the luxury of slowing to a near standstill ahead of a final 90-degree bend 300m from the finish.
Canola, 25, opened up the sprint before easing to the second professional win of his career - two years after opening his account with a victory in the Tour of Langkawi.
"It's a massive surprise and a special win for me," he said. "Sometimes in life you get unexpected opportunities and today is the best day of my sporting career so far."
Bouhanni and Nizzolo led the peloton over the line ahead of a frustrated cluster of the race's top sprinters, including Elia Viviani (Cannondale), Luka Mezgec (Giant-Shimano), Ben Swift (Sky), Farrar and Borut Bozic (Astana).
SIX-MAN GROUP: Italy's Canola, Venezuelan Rodriguez and Frenchman Tulik broke clear shortly after the start with Colombian Jeffry Johan Romero (Colombia) and Belgium's Gert Dockx (Lotto-Belisol). They were soon joined by Russia's Maxim Belkov (Katusha) in a leading group that never held more than three and a half minutes over the peloton.
BIG WINNER OF THE DAY: It's hard to look past Marco Canola, who took the biggest win of his career for the unheralded Pro Continental team Bardiani.
BIG LOSERS OF THE DAY: All the sprinters - particularly those still without a win - who may not have another chance to fight for a victory until the final stage of the race in Trieste. On a separate note, both Maxim Belkov (Katusha) and Thomas Dekker (Garmin-Sharp) hit the tarmac after getting their rain coats stuck in their rear wheels.
KEY MOMENT: Even when falling hail disrupted the chase with around 30km from the finish, this stage looked destined for a bunch sprint. But when Canola's attack forced the leading group to split in two, suddenly the odds looked stacked against the lackadaisical peloton.
TALKING POINT: Will Nacer Bouhanni regret not forcing his team to lead the chase? A fourth win may still be possible for the Frenchman, but he'll have to get over all those mountains first...
COMING UP: The race enters the Alps with the first of two back-to-back stages commemorating the late Marco Pantani. The 164km stage 14 from Aglie features three categorised climbs ahead of the final Cat.1 slog to the famous Orapa Sanctuary, one of the old stomping grounds of the controversial Italian climber.
- Sports & Recreation
- Nacer Bouhanni