Yates went into the stage with a lead of 1-24 over Tom Dumoulin (Team Sunweb) and came out of it with a lead of 2-11 as he attacked on the final categorised climb of the day.
Resplendent in his pink jersey on a miserable day in the Dolomites, Yates needed just two attacks to go solo over a chase group that failed to cooperate in the chase.
In the end Yates won by 41 seconds ahead of Miguel Angel Lopez (Astana) with Dumoulin in third, meaning that Yates now holds a more comfortable lead heading into Tuesday's crucial time trial.
Meanwhile Chris Froome (Team Sky) failed to allow up on his win on Monte Zoncolan on Saturday, finishing 1-32 behind Yates, as result that sees him drop to seventh place in the overall standings
How it happened
After Monte Zoncolan on Saturday, there was no let up in the climbing on stage 15 of the Giro d'Italia, which packed in four climbs before an uphill finish into Sappada.
As predicted there was a fast start to the stage with relentless attacking as various groups attempted to get away but with none allowed to get any sort of a gap on the peloton.
After around 30km two groups of three riders were able to get away before joining up to form a group of six, but they were brought back on the lower slopes of the opening climb of the Passo della Mauria.
The next group that was able to get clear consisted of Nico Denz and Quentin Jaurégui (Ag2r La Mondiale), Dayer Quintana (Movistar), and Krists Neilands (Israel Cycling Academy), who moved clear on the valley roads between the first and second climbs.
They were joined a large number of riders before the peloton sat up. Alessandro De Marchi (BMC Racing), Davide Ballerini and Fausto Masnada (Androni-Sidermec), Sacha Modolo (EF Education First-Drapac), Zdenek Stybar (Quick-Step), Manuele Mori and Diego Ulissi (UAE Team Emirates), Mickaël Chérel (Ag2r La Mondiale), Alexey Lutsenko (Astana), Niccolo Bonifazio, Giovanni Visconti, and Antonio Nibali (Bahrain-Merida), Giulio Ciccone and Enrico Barbin (Bardiani CSF), Mathieu Ladagnous (Groupama-FDJ), Kristian Sbaragli (Israel Cycling Academy), Tosh Van der Sande (Lotto FixAll), Sam Bewley (Mitchelton-Scott), Maurits Lammertink (Katusha-Alpecin), and Gianluca Brambilla (Trek-Segafredo) were the riders to make the junction to form a 24-strong front group.
That group quickly opened a gap of around three minutes as the peloton took its lunch, before EF Education First-Drapac, who had only sprinter Modolo in the break, started to work on the front of the bunch.
The American team was able to trim a minute off the break's lead before the start of the third-category Passo Tre Croci with 74km to go, and the reason for the high pace became clear when Michael Woods attacked midway up the climb.
Wood was immediately able to open the gap as Mitchelton-Scott opted not to chase, while the acceleration caused chaos at the back of the bunch as plenty of riders were dropped and Fabio Are (UAE Team Emirates) was put into trouble.
Back at the front Ciccone pushed on along with Neilands and the Ag2r La Mondiale duo of Denz and Chérel before they were joined by Quintana three kilometres before the top of the climb before Neilands was dropped ahead of the descent.
As the rain fell on the descent it was Denz and Chérel who pushed on to drop Ciccone and Quintana, before waiting for the Colombian to make a three-man group at the front of the race with a 2-40 lead over the peloton, although they were soon joined by Ciccone and Visconti.
Meanwhile Woods had struggled to open a gap, and was only 40 seconds ahead of the peloton as the road flattened out, and the Canadian rider decided to cut his losses and sit up to wait for the bunch.
The first of the duo of finishings climbs started with 38km to go with the break 1-46 up the road, where Ciccone once again moved to the front to drive the break, dropping Quintana, then Visconti, and finally Chérel.
Meanwhile Team Sunweb took up the pace-setting on the front of the bunch and immediately put Aru back in trouble with the Italian national champion swiftly dropped.
By the time the pink jersey group reached the top of the climb there were only around 20 riders in contention, with the gap to the break being just half a minute.
Once again Denz chose to push on on the descent to drop Ciccone and open his lead back out to 40 seconds as he started the Costalissoio climb with 19km remaining, but was soon swept up as the action kicked off behind.
Miguel Angel Lopez (Astana) led the peloton down the descent and immediately attacked the climb to cause a split which only Simon Yates and Jack Haig (Mitchelton-Scott), Thibaut Pinot (Groupama-FDJ), Tom Dumoulin (Team Sunweb), Domenico Pozzovivo (Bahrain-Merida), Richard Carapaz (Movistar) and George Bennett (LottoNL-Jumbo) followed immediately.
Having won on the Zoncolan on Saturday Chris Froome (Team Sky) was one of those distanced as Sergio Henao worked to try and bring his team leader back.
With Froome dropped Yates saw an opportunity to gain time and launched an attack of his own which only Lopez was able to follow, Dumoulin biding his time and getting into his rhythm just as he did on the Zoncolan.
Surely enough Dumoulin rejoined Yates along with Carapaz, Pinot, and Pozzovivo, but Yates had more to give and he attacked again, this time able to escape solo and open more of a gap.
Pozzovivo and Pinot took responsibility for the chase as Yates pushed on ahead, climbing out of the saddle with his hands in the drops in a manner that would have pleased any roadside fans of Marco Pantani.
By the top of the climb with 15km to go Yates had a lead of 18 seconds over the chasers, with Froome, now with Wout Poels by his side, suffering another 45 seconds back.
Yates opened another 10 seconds on the descent, and with 10km to go had a lead approaching half a minute. Behind Tom Dumoulin was starting to get frustrated as he gesticulated at the other riders to work before Pinot went on the attack but was unable to get away.
That poor cooperation allowed Yates to further open his lead to 51 seconds with five kilometres remaining, before Dumoulin decided to take matters into his own hands as he took sole responsibility for the chase.
However the Dutchman paid for his effort as Carapaz attacked and Dumoulin was unable to follow the response by Pinot, Lopez, and Pozzovivo.
That move trimmed a few seconds from Yates' lead, but the squabbling soon recommenced behind while the pink jersey started to ride away once more.
In the end Yates had plenty of time to enjoy his third stage win of the race, crossing the line with no other rider in site, before Lopez won the sprint for second ahead of Dumoulin at 41 seconds.
Giro d'Italia 2018, stage 15: Tolmezzo to Sappada, 176km
1. Simon Yates (GBr) Mitchelton-Scott, in 4-37-56
2. Miguel Angel Lopez (Col) Astana, at 41 secs
3. Tom Dumoulin (Ned) Team Sunweb
4. Domenico Pozzovivo (Ita) Bahrain-Merida
5. Richard Carapaz (Ecu) Movistar
6. Thibaut Pinot (Fra) Groupama-FDJ, all at same time
7. Alexandre Geniez (Fra) AG2R La Mondiale, at 1-20
8. Davide Formolo (Ita) Bora-Hansgrohe
9. Pello Bilbao (Spa) Astana
10. Sam Oomen (Ned) Team Sunweb, all at same time
General classification after stage 15
1. Simon Yates (GBr) Mitchelton-Scott, in 65-57-37
2. Tom Dumoulin (Ned) Team Sunweb, at 2-11
3. Domenico Pozzovivo (Ita) Bahrain-Merida, at 2-28
4. Thibaut Pinot (Fra) Groupama-FDJ,at 2-37
5. Miguel Angel Lopez (Col) Astana, at 4-27
6. Richard Carapaz (Ecu) Movistar Team, at same time
7. Chris Froome (GBr) Team Sky, at 4-52
8. George Bennett (NZl) LottoNL-Jumbo, at 5-34
9. Pello Bilbao (Spa) Astana, at 5-59
10. Patrick Konrad (Aut) Bora-Hansgrohe, at 6-13
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1