Jungels finished first from a group of overall contenders including pink jersey Tom Dumoulin (Sunweb), beating Nairo Quintana (Movistar) and Thibaut Pinot (FDJ) in the final sprint to take the win and 10 bonus seconds.
Quintana, second on GC, was able to grab the six second bonus to reduce a fraction off his 2-47 deficit to Dumoulin.
The GC riders had got away on the final short, sharp climb in Bergamo with 3.8km to go as Jungels instigated the first attack.
Vincenzo Nibali (Bahrain-Merida) followed and pushed on as he tried to gap his rivals on the tricky descent.
He was unable to gap any of his nearest rivals, but the increase in pace saw an elite front group get away and ride into the final kilometre together.
Bauke Mollema (Trek-Segafredo) was first to make a push for the line, followed closely by Domenico Pozzovivo (Ag2r La Mondiale).
But Jungels was clearly keen for a stage victory and got onto the wheel of the Italian and was able to power past and hold off the chasing Pinot and Adam Yates (Orica-Scott), before Quintana was able to sneak in for second.
How it happened
The stage set off at a ferocious pace and anyone trying to get in a breakaway was going to face a tough task.
Dries Devenyns (Quick-Step), Moreno Hofland (Lotto-Soudal), Jan Barta (Bora-Hansgrohe) and Jeremy Roy (FDJ) were the first to try, and got in the early breakaway. But after 100km of riding with no more than 30 seconds they were finally caught by the peloton.
A bigger group then managed to make it away 10km later, with Fernando Gaviria (Quick-Step), Phil Deignan (Team Sky), Julien Amezqueta (Wilier-Triestina), Enrico Battaglin (LottoNL-Jumbo), Jacques Janse van Rensburg (Dimension Data), Silvan Dillier (BMC), Enrico Barbin (Bardiani-CSF), Rudy Molard (FDJ), Evgeny Shalunov (Gazprom-Rusvelo) and Simone Petilli (UAE Team Emitrates), all making up the break.
They got a maximum gap of just over two minutes, but the difficult pace saw the group cut down to three riders as they neared the top of the category two climb of Miragolo San Salvatore.
The break held 48 seconds at the top of the first climb with 40km to go, with Molard, van Rensburg and Deignan all there.
The riders then faced the first technical descent of the day from the first climb, which saw Nairo Quintana crash on a corner. Dumoulin slowed the group down to allow the Colombian to recover and get back, and the gap to the break grew out to 1-11.
Pierre Rolland (Cannondale-Drapac) then attacked to try and make it to the break on the second climb and was later joined by Luis Leon Sanchez (Astana). They eventually made it up to the leading three on the route’s second climb with 30km to go.
That fivesome took 41 seconds on the chasing peloton at the top of the Selvino climb, and headed down the next technical descent which featured 19 hairpin turns on the way to Bergamo.
The descent from Selvino saw Kenny Elissonde (Team Sky) and Davide Formolo (Cannondale-Drapac) crash badly, falling into a wall on a hairpin, with the former looking in particular pain as his team car rushed to his aid.
After the break and the peloton had made it off the descent, Tanel Kangert (Astana) seventh in general classification, was the next to go down, taking a nasty spill with 9km to go as he hit a traffic island. The Estonian has reportedly broken his elbow in the incident.
The break still had 19 seconds with 8km to go, but they made it to the foot of the final uncategorised climb in Bergamo with only seven seconds and 4.4km remaining.
The peloton were quickly on top of them on the climb and Bahrain-Merida’s efforts saw them all finally caught with 3.8km to go.
Jungels then attacked at the same time and Nibali followed with Pozzovivo. No-one could drop Dumoulin fully on the climb or the descent, and it ended with a GC stalemate on the line as Jungels grabbed the stage victory.
The peloton will be glad to head into another rest day on Monday after a super fast day on stage 14, with an average speed of over 46kmh.
There’ll be a nasty shock for the riders on Tuesday’s stage 16 however, with the queen stage of the 100th Giro and an ascent of the Mortirolo and two summits of the Stelvio on the cards.
Giro d’Italia 2017 stage 15, Valdengo – Bergamo (199km)
1 Bob Jungels (Lux) Quick-Step Floors 4-16-51
2 Nairo Quintana (Col) Movistar Team
3 Thibaut Pinot (Fra) FDJ
4 Adam Yates (GBr) Orica-Scott
5 Domenico Pozzovivo (Ita) AG2R La Mondiale
6 Patrick Konrad (Aut) Bora-Hansgrohe
7 Vincenzo Nibali (Ita) Bahrain-Merida
8 Tom Dumoulin (Ned) Team Sunweb
9 Ilnur Zakarin (Rus) Katusha-Alpecin
10 Bauke Mollema (Ned) Trek-Segafredo, all same time
Overall classification after stage 14
1 Tom Dumoulin (Ned) Team Sunweb, in 63-48-08
2 Nairo Quintana (Col) Movistar Team, at 2-41
3 Thibaut Pinot (Fra) FDJ, at 3-21
4 Vincenzo Nibali (Ita) Bahrain-Merida, at 3-40
5 Ilnur Zakarin (Rus) Katusha-Alpecin, at 4-24
6 Bauke Mollema (Ned) Trek-Segafredo, at 4-32
7 Domenico Pozzovivo (Ita) AG2R La Mondiale, at 4-59
8 Bob Jungels (Lux) Quick-Step Floors, at 5-18
9 Andrey Amador (CRc) Movistar Team, at 6-01
10 Steven Kruijswijk (Ned) Team LottoNl-Jumbo, at 7-03