Bernal, who started mountain biking, left his opponents behind on the unpaved finish track after a climb of 6.6 kilometers.
Behind the winner of the Tour de France 2019, the Italian Giulio Ciccone took second place, 7 seconds ahead of the Russian Aleksandr Vlasov.
The Belgian Remco Evenepoel, fourth, gave 10 seconds to the Colombian.
In the general classification, Bernal now precedes Evenepoel by 15 seconds and Vlasov by 21 seconds.
The breakaway, which formed after a very lively first hour, came at the foot of the final ascent with an advantage limited to two minutes.
Bernal participates in the Giro for the first time
The French Geoffrey Bouchard, part of this avant-garde group, saw the Dutch Koen Bouwman return before the red flame of the last kilometer.
But both were overwhelmed by the peloton of favorites in the last few hundred meters, under a few drops of rain.
Bernal, 24, donned his first pink jersey in the Giro in which he is participating for the first time.
He also won his first stage in the Tour of Italy.
Hungarian Attila Valter, who wore the pink jersey, let go in the final climb and fell to 5th place in the standings, 43 seconds behind.
Slovenian Matej Mohoric fell in a descent after around 40 kilometers.
The former world champion hopes, who made a caper, hit the roadway with the head.
He quickly rose to his feet but left the race on a stretcher.
On Monday, the 10th stage links L'Aquila to Foligno on a 139-kilometer course favorable to sprinters, on the eve of the first day of rest.
️ Put your feet up and enjoy cycling at its very best!
️ Mettetevi comodi e godevi il grande ciclismo!
️ Ponte cómodo y disfruta del gran ciclismo!
Powered by @ supersapiensinc # Giropic.twitter.com / MFQB39mgC2
- Giro d'Italia (@giroditalia) May 16, 2021
Classification of the 9th stage of the Giro:
1. Egan Bernal (COL / Ineos), the 158 km in 4 h 08:23.
2. Giulio Ciccone (ITA / TRE) at 07.
3. Aleksandr Vlasov (RUS / AST) 07.
4. Remco Evenepoel (BEL / DEC) 10.
5. Dan Martin (IRL / ISR) 10.
6. Damiano Caruso ( ITA / BAH) 12.
7.
Romain Bardet
(FRA / DSM) 12.
8. Marc Soler (ESP / MOV) 12.
9. Daniel Martinez (COL / INE) 12.
10. Joao Almeida (POR / DEC) 12.
11. Davide Formolo (ITA / UAE) 12.
12. Hugh Carthy (GBR / EF1) 12.
13. Emanuel Buchmann (GER / BOR) 12.
14. Simon Yates (GBR / BIK) 12 ...
18. Tobias Foss (NOR / JUM) 35.
21. Vincenzo Nibali (ITA / TRE) 35.
22.
Geoffrey Bouchard
(FRA / AG2) 38.
25. Attila Valter (HUN / FDJ) 49.
General classification :
1. Egan Bernal (COL / Ineos) 35 h 19:22.
2. Remco Evenepoel (BEL / DEC) at 15.
3. Aleksandr Vlasov (RUS / AST) 21.
4. Giulio Ciccone (ITA / TRE) 36.
5. Attila Valter (HUN / FDJ) 43.
6. Hugh Carthy ( GBR / EF1) 44.
7. Damiano Caruso (ITA / BAH) 45.
8. Dan Martin (IRL / ISR) 51.
9. Simon Yates (GBR / BIK) 55.
10. Davide Formolo (ITA / UAE) 1: 01.
11. Daniel Martinez (COL / INE) 1:12.
12. Marc Soler (ESP / MOV) 1:20.
13.
Romain Bardet
(FRA / DSM) 1:20 ...
15. Emanuel Buchmann (GER / BOR) 1:46.
16. Vincenzo Nibali (ITA / TRE) 2:12.
Read also
All the news from the Giro with Sport24