Watch all the best , with the Tour de France, Tour de France Femmes and much more.
Rubio proved strongest from a finishing group of three as he beat out Thibaut Pinot (Groupama FDJ) and Alexander Cepeda (EF Education EasyPost) in the final push to the line for his first Grand Tour victory.
Geraint Thomas (INEOS Grenadiers) retained the maglia rosa as the overall contenders mostly exercised caution on the day due to the extreme weather conditions.
"Finally, my big day. I was looking for it, I worked really hard for this," Rubio said after the stage.
"I really wanted to prepare for this Giro. I had problems the other day because of the weather, it was really hard. I knew I couldn't give up, I wanted to keep looking for opportunities. Thankfully my dream came true today."
With dangerous conditions on the descent of the Grand St Bernard prompting a riders' vote to amend the course, race organisers were forced to apply an 'Extreme Weather Protocol' to the stage and it was reduced from 199 to 74.6 kilometres as the peloton set off from the base of the Croix de Coeur.
The day's breakaway formed on the ascent, with an attack from Cepeda followed by Pinot, Rubio, Valentin Paret-Peintre (AG2R Citroën), Derek Gee and Matthew Riccitello (both Israel Premier-Tech).
Pinot attacked over the top of the Croix de Coeur to thin out the leading group to four with only Rubio, Gee and Cepeda able to follow the Frenchman.
Gee was then distanced as the group made their way up the Crans-Montana climb and it was three to contest the finish, with Cepeda sprinting early before Rubio came around him to win the day, Pinot unable to secure a victory in the final year of his career.
The Giro d'Italia continues tonight with Stage 14, a 193-kilometre mostly flat day from Sierre to Cassano Magnago. Watch the action live from 7:55pm (AEST) on SBS VICELAND and SBS On Demand.