Yates launched on of the steep ramps of the final 2km of the race, dropping his rivals with 1.4km to go and holding off the main chaser and second placed overall Tom Dumoulin (Sunweb) to take his second stage win of the race.
Defending champion Dumoulin finished two seconds back, and now sits 47 seconds down on race leader Yates who gained six additional second after time bonuses on the line.
Most of the other race contenders finished in a group just behind Dumoulin and second placed Davide Formolo (Bora-Hansgrohe), eight seconds off the winner, including near rivals Domenico Pozzovivo (Bahrain-Merida) and Thibaut Pinot (Groupama-FDJ).
Chris Froome (Team Sky) suffered another difficult day however, struggling in 40 seconds down on the cobbled finish to Osimo, dropping out of the top-10 overall.
How it happened
The riders of the Giro peloton were probably relishing a more modest distance of 158km on stage 11 compared to Tuesday’s 244km, but the race once again began at a ferocious pace.
With so many riders eager to get in the break on day that could potentially suit an escape, the bunch sped along at over 50kmh in the first half-an-hour of racing.
It took until 125km to go for the peloton to finally calm and settle with a pair out front in Luis León Sánchez (Astana Pro Team) and Alessandro De Marchi (BMC Racing Team).
They were bridged to shortly after by Fausto Masnada (Androni Giocattoli-Sidermec) and Mirco Maestri (Bardiani CSF), with Alex Turrin (Wilier Triestina-Selle Italia) the last to get in the lead group with the four up front waiting for him as he toiled alone between them and the main peloton.
The escape established a maximum gap of 3-30, but cooperated well despite the gap gradually dropping the closer they got to the finish.
It was under three minutes within the final 50km, but it began to really break apart as they dropped Turrin and Maestri on a rise with 30km to go, holding 1-50 on the chasing bunch led predominantly by Lotto-FixAll and LottoNL-Jumbo.
With 15km remaining, the front three still held a minute’s advantage and potentially began to fancy their chances, however the final 5km were the most difficult of the stage and they would require a decent advantage to hold off the bunch over the tough finale.
Despite a sharp incline at 11km to go, the break still held 47 seconds into the final 10km, while the bunch began to seriously reduce in number with the GC teams starting to come to the front.
And those movements from the GC teams eventually put paid to the breakaway, who were caught just after the 5km to go mark despite an additional attack from De Marchi and Sanchez.
Zdenek Stybar (Quick-Step Floors) launched the first attack from the bunch with around 4km remaining, with Tim Wellens (Lotto-FixAll) joining him to go clear on the technical descent towards the final climb.
They established a seven second gap, but were quickly closed down as the GC teams primed their riders for the final fight.
As the road ramped up again within the final 2km, race leader Yates attacked at 1.4km to the line and immediately gapped his rivals who tried to respond behind. Chris Froome, who was already in a second group behind the one from which Yates attacked, dropped even further back as the road ascended.
Dumoulin was the rider to get closest to Yates, with the likes of Pinot and Pozzovivo chasing further back, but no-one was able to gain much ground as they struggled up the final, cobbled ascent.
Eventually Yates was able to crest the climb towards the slight downhill finish, with Dumoulin almost in touching distance. There was nothing the Dutchman could do to stop the British rider though, and he had to settle for second place as Yates celebrated the win and extending his overall lead.
Thursday will see the Giro’s sprinters get another chance at victory, with a predominantly flat 214km run to Imola.
Giro d’Italia 2018 stage 11: Assisi to Osimo (158km)
1 Simon Yates (GBr) Mitchelton-Scott, in 3-25-53
2 Tom Dumoulin (Ned) Team Sunweb, at 2s
3 Davide Formolo (Ita) Bora-Hansgrohe, at 5s
4 Alexandre Geniez (Fra) AG2R La Mondiale, at 8s
5 Domenico Pozzovivo (Ita) Bahrain-Merida
6 Patrick Konrad (Aut) Bora-Hansgrohe
7 Thibaut Pinot (Fra) Groupama-FDJ, all same time
8 Maximilian Schachmann (Ger) Quick-Step Floors, at 11s
9 Rohan Dennis (Aus) BMC Racing Team, at 18s
10 Fabio Aru (Ita) UAE Team Emirates, at 21s
23 Chris Froome (GBr) Team Sky, at 40s
Overall classification after stage 11
1 Simon Yates (GBr) Mitchelton-Scott, in 47-08-21
2 Tom Dumoulin (Ned) Team Sunweb, at 47s
3 Thibaut Pinot (Fra) Groupama-FDJ, at 1-04
4 Domenico Pozzovivo (Ita) Bahrain-Merida, at 1-18
5 Richard Carapaz (Ecu) Movistar Team, at 1-56
6 George Bennett (NZl) LottoNL-Jumbo, at 2-09
7 Rohan Dennis (Aus) BMC Racing Team, at 2-36
8 Pello Bilbao (Esp) Astana Pro Team, at 2-54
9 Patrick Konrad (Aut) Bora-Hansgrohe, at 2-55
10 Fabio Aru (Ita) UAE Team Emirates, at 3-10
23 Chris Froome (GBr) Team Sky, at 3-20