The 2015 Vuelta a España was a three-week Grand Tour cycling race that took place principally in Spain between 22 August and 13 September 2015; two stages also took place partly or wholly in Andorra. The final ten stages took the race from the mountains of Andorra to the conclusion of the Vuelta in Madrid. After the first eleven stages, Fabio Aru () held the race lead, around half a minute ahead of Joaquim Rodríguez () and Tom Dumoulin ().

Stage 12 was a flat stage, won by Danny van Poppel (). Stage 13 was won by Nelson Oliveira () from the breakaway; it was followed by a series of three consecutive summit finishes. The first of these was won by Alessandro De Marchi (), as Aru and Rodríguez gained time on Dumoulin. Rodríguez won stage 15, putting him just one second behind Aru, while Dumoulin again lost significant time. Stage 16 was the final summit finish of the race and the final stage of the second week. It was won by Fränk Schleck (Trek Factory Racing), again from the breakaway. Rodríguez gained further time on Aru and took over the race lead, though only by a single second, while Dumoulin again lost time. The following day was a rest day.

The final week of the race began with an individual time trial on stage 17. This was Dumoulin's speciality and he won the stage by over a minute, with all his rivals for the general classification even further behind. He moved into the race lead, three seconds ahead of Aru, while Rodríguez dropped to more than a minute off the race lead. The subsequent three stages were all won by the breakaway, with Aru and his team trying to attack Dumoulin throughout. They were won by Nicolas Roche (), Alexis Gougeard () and Rubén Plaza () respectively. Plaza's victory came after a solo breakaway. On the same stage, Aru was finally able to escape from Dumoulin, who lost nearly four minutes and fell to sixth place, while Aru took the overall lead. Stage 21, the final stage of the race, was a sprint stage that took the riders into Madrid. It was won by John Degenkolb (Giant-Alpecin), while Aru sealed his overall victory ahead of Rodríguez and Rafał Majka ().

Classification standings

Legend Denotes the leader of the general classification Denotes the leader of the points classification Denotes the leader of the mountains classification Denotes the leader of the combination rider classification

Stage 12 3 September 2015 — Escaldes-Engordany, Andorra to Lleida,

Stage 12 started in Escaldes-Engordany, on the outskirts of Andorra la Vella, but the riders immediately left Andorra to return to Spain for the remainder of the Vuelta. The stage was much flatter than the previous day: there was just one categorised climb on the route. This was the second-category Coll de Bóixols ( at 5%). The summit came after of racing, with to the finish line. The remainder of the stage was mostly flat, and the finish was relatively uncomplicated: there were of straight roads leading into Lleida, with only two roundabouts. The stage was expected to suit the sprinters, as their teams would have plenty of time after the climb to catch a breakaway.

Despite Oleg Tinkov's threat to pull from the race, all the teams started the race in Andorra, with Chris Froome () the only rider not to start the stage. The day's breakaway was fairly quick to form: Maxime Bouet (), Miguel Ángel Rubiano (), Jaco Venter (), Bert-Jan Lindeman () and Alexis Gougeard () escaped early in the stage. Bouet was the best-placed of the riders on the general classification, over twenty minutes behind Fabio Aru (). They led over the Coll de Bóixols (Bouet was the first to the summit) and built a three-minute lead over the peloton. Astana were unwilling to commit to the chase, so the peloton was generally led by and .

The five riders in the breakaway rode strongly and the peloton was forced to ride hard all day to chase down their lead. With remaining, the breakaway had a lead of 1' 20". A few kilometres later, the lead was under a minute. 's efforts stopped around from the end of the stage, when their sprinter Danny van Poppel suffered a flat tyre. After a conversation with the team, van Poppel decided to change his wheel. He then chased back into the peloton through the team cars and several teammates helped him back to the front of the group; other riders remained at the front to chase the breakaway down after van Poppel had rejoined the group.

With remaining, the breakaway had not been caught and still had a lead of 20". Bouet and Gougeard both attacked and were brought back. Venter then attacked in the final , with only Bouet able to follow, but they were caught by the peloton as the road rose to the finish line. The sprint was disorganised, with only attempting to control it. Daryl Impey () sprinted first; van Poppel followed and came around him to take the stage victory. Impey held on to take second place with Tosh Van der Sande () third. The victory was van Poppel's first Grand Tour stage victory. All the general classification riders finished in the peloton with the standings unchanged.

Stage 13 4 September 2015 — Calatayud to Tarazona,

The thirteenth stage was the last before three consecutive summit finishes. The stage covered a route from Calatayud to Tarazona. There were three categorised climbs: the third-category Alto Collado de Oseja ( at 3.7%) and the first-category Alto de Beratón ( at 4.7%) came in the first half of the stage; the final climb was the third-category Alto de Moncayo ( at 4.5%), the summit of which came with to the finish. The stage was expected to suit riders from a breakaway.

As the breakaway was expected to win the stage, the day's racing began with strong competition to get into the move. At one point a group of about 50 riders – more than a quarter of the peloton – was in a lead group, but this was caught before the Alto Collado de Oseja. Sylvain Chavanel () initiated the main move of the day on this first climb. Chavanel was then joined by seven other riders: Nelson Oliveira and Rubén Plaza (both ), Yukiya Arashiro (), Alessandro De Marchi (BMC), Mikaël Cherel (), Jérôme Coppel () and Cameron Meyer (). Plaza was the first of the group to cross the summit of the climb. Nairo Quintana (Movistar), who had been in eighth place before the stage, was dropped from the peloton on the climb; his teammates were able to bring him back to the group after the summit.

A second group, containing 16 riders, had formed on the road. These were Sergio Henao and Nicolas Roche (Sky), Rinaldo Nocentini (Ag2r–La Mondiale), David Arroyo (), Yoann Bagot and Julien Simon (), Niki Terpstra and Gianluca Brambilla (), Kenny Elissonde and Kévin Reza (FDJ), Valerio Conti (), Maxime Monfort (), José Joaquín Rojas (Movistar), Steve Cummings (), Romain Sicard (Europcar) and Paweł Poljański (). On the climb of the Alto de Beratón, the two lead groups came together to make a 24-man breakaway. Sicard and Brambilla were the two best-placed riders in the breakaway, over six minutes behind Aru, and their presence forced Astana to keep the breakaway within reach; on the descent the lead was around four minutes.

The breakaway stayed together until the final climb. Chavanel and Oliveira were the first to attack, but Poljański was able to come past them and led solo at the top of the climb. He was caught before the descent, however, whereupon Oliveira attacked again. He reached speeds of around and had opened up a large lead by the foot of the descent. Oliveira rode the final of the stage alone – using his strong time-trialling skills – and was able to maintain his advantage. He was aided by Plaza and Conti, who marked the attacks that came from the rest of the group, and took a solo stage victory. Simon won the sprint for second place, with Roche in second, as the group finished a minute behind Oliveira. This was the first Grand Tour stage win of Oliveira's career.

Towards the end of the stage, there was an attack in the main peloton from Gediminas Bagdonas (); he finished 4' 43" behind Oliveira. Cycling Weekly described his attack as "strange" and suggested that he had briefly thought he could take the stage victory himself. The rest of the peloton came in five seconds later. The top eight in the general classification were unchanged; Quintana and Louis Meintjes (MTN-Qhubeka) dropped out of the top ten, however, with Sicard and Brambilla moving up thanks to their presence in the day's breakaway.

Stage 14 5 September 2015 — Vitoria-Gasteiz to Alto Campoo, Fuente del Chivo,

The fourteenth stage was the first of three consecutive summit finishes. It began in Vitoria-Gasteiz, the capital of the Basque Country, and took the riders to Alto Campoo. The stage included three categorised climbs, all of which came in the second half of the stage. The first of the stage took the riders west, before the riders reached the first categorised climb. This was the third-category Puerto Estacas de Trueba ( at 2.9%). After the descent, the riders immediately climbed the first-category Puerto del Escudo ( at 6.4%). There was then a flat section of around that took the riders to the foot of the final climb. This was the Alto Campoo ( at 5.5%). The climb was fairly regular and, though long, was not particularly steep and was not expected to result in large gaps between the general classification riders.

There was again aggressive racing for the first hour to get into the breakaway. Alessandro De Marchi (BMC) attacked three times during this period. The third attack came after and ended up forming the day's main breakaway. De Marchi was joined by Salvatore Puccio (Sky), José Joaquín Rojas (Movistar), Mikaël Cherel (AG2R La Mondiale) and Carlos Quintero (). Cherel was the best-placed rider on the general classification; he was, however, over an hour down, so there was no urgent need for the peloton to chase. At the top of the first climb, the five riders had a lead of over eight minutes. This extended to nearly ten minutes following the descent and was still over nine minutes at the base of the day's final climb. Cherel was the first to attack and Puccio was the first of the riders to be dropped, though he quickly came back to the group. De Marchi pulled the other three riders back to Cherel, whereupon attacks came from Puccio and Rojas. De Marchi dropped Cherel and Quintero, then caught Rojas. With remaining, he passed Puccio and went on to take the stage victory. Puccio finished 21 seconds further back in second place, with Rojas another 11 seconds behind in third.

Astana, meanwhile, led the peloton in support of Aru. Luis León Sánchez and Mikel Landa were the first to apply pressure on the climb; Tom Dumoulin () was isolated from most of his teammates as the group was reduced to around 40 riders. Dario Cataldo took over and, when he tired, Aru attacked and only Quintana was able to follow for long. Rodríguez and Chaves were eventually able to catch Aru and Quintana. Quintana attacked on the steepest portion of the climb; he crossed the finish line 3' 32" behind De Marchi in sixth place on the stage. Rodríguez was six seconds behind, with Chaves and Aru a further second back. Alejandro Valverde (Movistar) and Dumoulin finished together, 19 seconds behind Aru. Dumoulin was therefore now 49 seconds behind Aru overall.

Stage 15 6 September 2015 — Comillas to Sotres, Cabrales,