Ostatni etap wyścigu rozgrywany był w końcówce na ośmiu rundach w Barcelonie, na której kolarze za każdym razem pokonywali wzniesienie pod Montjuic (3,2km, średnie nachylenie 5,8%). Tam rozegrała się walka o zwycięstwo, choć spore znaczenie miał deszcz, który towarzyszył peletonowi i czynił jazdę czasem niebezpieczną.
Niedługo po starcie, podobnie jak na poprzednich etapach, uformowała się ucieczka, w której znalazło się trzynastu kolarzy i w której był też Maciej Paterski (CCC Polsat). Już na drugiej rundzie z czołówki oderwała się piątka – Thomas Voeckler (Europcar), Lieuwe Westra (Astana), Marcus Burghardt (BMC Racing Team) i Yoann Bagot (Cofidis) – i zyskała niewielką przewagę nad rywalami. Na około 20 kilometrów przed metą odjechał Westra, który poprawił atak Voecklera i zyskał ponad pół minuty przewagi, które utrzymał do ostatnich kilometrów. Z powodu deszczu organizatorzy postanowili skrócić rundę, gdyż jazda w takich warunkach była niebezpieczna.
Do mety Westra wypracował sobie aż 1.22 przewagi nad grupą pościgową, z której najszybszy był Burghardt, przed Voecklerem. 4. miejsce zajął Paterski. Za plecami tej grupki toczyła się walka o klasyfikację generalną – Alberto Contador (Tinkoff-Saxo) próbował zerwać z koła Joaquina Rodrigueza (Katiusza), atakując na ostatnim podjeździe. Zarówno Purito, jak i trzeci w generalce Tejay Van Garderen (BMC Racing) byli czujni i nie dali się zgubić a na mecie Rodriguez mógł cieszyć się z drugiego w karierze, po wygranej w 2012 roku, zwycięstwa Katalonii.
Wyniki 7. etapu:
- 1 Lieuwe Westra (Ned) Astana Pro Team 2:36:14
- 2 Marcus Burghardt (Ger) BMC Racing Team 0:01:22
- 3 Thomas Voeckler (Fra) Team Europcar
- 4 Maciej Paterski (Pol) CCC Polsat Polkowice 0:01:26
- 5 Yoann Bagot (Fra) Cofidis, Solutions Credits 0:01:36
- 6 Jan Polanc (Slo) Lampre-Merida 0:02:07
- 7 Alberto Contador Velasco (Spa) Tinkoff-Saxo
- 8 Romain Bardet (Fra) AG2R La Mondiale
- 9 Arnold Jeannesson (Fra) FDJ.fr
- 10 Joaquin Rodriguez Oliver (Spa) Team Katusha
- 11 Valerio Agnoli (Ita) Astana Pro Team
- 12 Jérôme Baugnies (Bel) Wanty - Groupe Gobert
- 13 Christopher Froome (GBr) Team Sky
- 14 Tejay van Garderen (USA) BMC Racing Team
- 15 Andrew Talansky (USA) Garmin Sharp
- 16 Nairo Alexander Quintana Rojas (Col) Movistar Team
- 17 Warren Barguil (Fra) Team Giant-Shimano
- 18 Maxime Mederel (Fra) Team Europcar
- 19 Robert Kiserlovski (Cro) Trek Factory Racing
- 20 Wilco Kelderman (Ned) Belkin Pro Cycling Team
- 21 Gianluca Brambilla (Ita) Omega Pharma - Quick-Step Cycling Team
- 22 Domenico Pozzovivo (Ita) AG2R La Mondiale
- 23 Daniel Martin (Irl) Garmin Sharp
- 24 Thibaut Pinot (Fra) FDJ.fr
- 25 Luis Angel Mate Mardones (Spa) Cofidis, Solutions Credits
- 26 Ryder Hesjedal (Can) Garmin Sharp
- 27 Sander Armee (Bel) Lotto Belisol
- 28 David Lopez Garcia (Spa) Team Sky
- 29 Samuel Dumoulin (Fra) AG2R La Mondiale
- 30 Mikel Landa Meana (Spa) Astana Pro Team
- 31 Samuel Sanchez (Spa) BMC Racing Team
- 32 Romain Hardy (Fra) Cofidis, Solutions Credits 0:02:15
- 33 Sergio Miguel Moreira Paulinho (Por) Tinkoff-Saxo
- 34 Christian Meier (Can) Orica GreenEdge
- 35 Andrey Zeits (Kaz) Astana Pro Team
- 36 Davide Malacarne (Ita) Team Europcar
- 37 Kévin Reza (Fra) Team Europcar
- 38 José Herrada Lopez (Spa) Movistar Team
- 39 Davide Rebellin (Ita) CCC Polsat Polkowice
- 40 Darwin Atapuma Hurtado (Col) BMC Racing Team
- 41 Luis Leon Sanchez (Spa) Caja Rural - Seguros RGA 0:02:20
- 42 Mikael Cherel (Fra) AG2R La Mondiale 0:02:43
- 43 Lawrence Warbasse (USA) BMC Racing Team
- 44 Daniel Moreno Fernandez (Spa) Team Katusha
- 45 Perrig Quemeneur (Fra) Team Europcar
- 46 George Bennett (NZl) Cannondale 0:02:49
- 47 Carlos Verona (Spa) Omega Pharma - Quick-Step Cycling Team
- 48 Adam Yates (GBr) Orica GreenEdge
- 49 Fabio Aru (Ita) Astana Pro Team 0:02:58
- 50 Jurgen Van Den Broeck (Bel) Lotto Belisol 0:03:02
- 51 Danny Pate (USA) Team Sky
- 52 Branislau Samoilau (Blr) CCC Polsat Polkowice
- 53 Michel Koch (Ger) Cannondale 0:03:13
- 54 Thomas Degand (Bel) Wanty - Groupe Gobert 0:03:15
- 55 Stef Clement (Ned) Belkin Pro Cycling Team
- 56 Cédric Pineau (Fra) FDJ.fr
- 57 Ben Gastauer (Lux) AG2R La Mondiale
- 58 Martin Kohler (Swi) BMC Racing Team 0:03:19
- 59 Tosh Van Der Sande (Bel) Lotto Belisol
- 60 Jose Rodolfo Serpa Perez (Col) Lampre-Merida 0:03:37
- 61 Michel Kreder (Ned) Wanty - Groupe Gobert
- 62 Rudy Molard (Fra) Cofidis, Solutions Credits
- 63 Daniel Navarro Garcia (Spa) Cofidis, Solutions Credits
- 64 Sébastien Minard (Fra) AG2R La Mondiale
- 65 Javier Moreno Bazan (Spa) Movistar Team
- 66 Yannick Eijssen (Bel) BMC Racing Team
- 67 Jussi Veikkanen (Fin) FDJ.fr
- 68 Boris Vallee (Bel) Lotto Belisol 0:04:09
- 69 Rigoberto Uran (Col) Omega Pharma - Quick-Step Cycling Team 0:04:17
- 70 Johannes Fröhlinger (Ger) Team Giant-Shimano 0:04:20
- 71 Thomas Damuseau (Fra) Team Giant-Shimano
- 72 Koldo Fernandez (Spa) Garmin Sharp 0:04:24
- 73 Ruben Plaza Molina (Spa) Movistar Team 0:04:27
- 74 Peter Stetina (USA) BMC Racing Team
- 75 Giampaolo Caruso (Ita) Team Katusha 0:04:47
- 76 Jérémy Roy (Fra) FDJ.fr 0:04:50
- 77 Julian Alaphilippe (Fra) Omega Pharma - Quick-Step Cycling Team 0:04:57
- 78 Pablo Lastras Garcia (Spa) Movistar Team 0:07:38
- 79 Łukasz Owsian (Pol) CCC Polsat Polkowice
- 80 Kenny Elissonde (Fra) FDJ.fr
- 81 Fumiyuki Beppu (Jpn) Trek Factory Racing
- 82 Jonathan Castroviejo Nicolas (Spa) Movistar Team
- 83 Jens Voigt (Ger) Trek Factory Racing
- 84 Nico Sijmens (Bel) Wanty - Groupe Gobert
- 85 Cayetano José Sarmiento Tunarrosa (Col) Cannondale
- 86 Rory Sutherland (Aus) Tinkoff-Saxo
- 87 Jhoan Esteban Chaves (Col) Orica GreenEdge
- 88 Angel Vicioso Arcos (Spa) Team Katusha
- 89 Eduard Vorganov (Rus) Team Katusha
- 90 Anthony Roux (Fra) FDJ.fr 0:08:44
- 91 Pavel Brutt (Rus) Team Katusha 0:09:57
- 92 Stéphane Poulhies (Fra) Cofidis, Solutions Credits
- 93 Angel Madrazo Ruiz (Spa) Caja Rural - Seguros RGA
- 94 Martijn Keizer (Ned) Belkin Pro Cycling Team
- 95 Laurens Ten Dam (Ned) Belkin Pro Cycling Team
- 96 Winner Anacona Gomez (Col) Lampre-Merida 0:11:57
- 97 Amets Txurruka (Spa) Caja Rural - Seguros RGA
- 98 Javier Alexis Acevedo Colle (Col) Garmin Sharp
- 99 Adrian Honkisz (Pol) CCC Polsat Polkowice
- 100 Natnael Berhane (Eri) Team Europcar
- 101 Julian Kern (Ger) AG2R La Mondiale
- DNF Gregory Habeaux (Bel) Wanty - Groupe Gobert
- DNF Francis De Greef (Bel) Wanty - Groupe Gobert
- DNF Christophe Le Mevel (Fra) Cofidis, Solutions Credits
- DNF Marek Rutkiewicz (Pol) CCC Polsat Polkowice
- DNF Mateusz Taciak (Pol) CCC Polsat Polkowice
- DNF Heiner Rodrigo Parra Bustamente (Col) Caja Rural - Seguros RGA
- DNF Marcos Garcia (Spa) Caja Rural - Seguros RGA
- DNF Davide Vigano (Ita) Caja Rural - Seguros RGA
- DNF Antonio Piedra Perez (Spa) Caja Rural - Seguros RGA
- DNF David Arroyo Duran (Spa) Caja Rural - Seguros RGA
- DNF Kristof Vandewalle (Bel) Trek Factory Racing
- DNF Luka Mezgec (Slo) Team Giant-Shimano
- DNF Thomas Peterson (USA) Team Giant-Shimano
- DNF Chad Haga (USA) Team Giant-Shimano
- DNF Pierre Rolland (Fra) Team Europcar
- DNF Leigh Howard (Aus) Orica GreenEdge
- DNF Damien Howson (Aus) Orica GreenEdge
- DNF Sam Bewley (NZl) Orica GreenEdge
- DNF Bart De Clercq (Bel) Lotto Belisol
- DNF Stig Broeckx (Bel) Lotto Belisol
- DNF Roberto Ferrari (Ita) Lampre-Merida
- DNF Kristijan Durasek (Cro) Lampre-Merida
- DNF Cristiano Salerno (Ita) Cannondale
- DNF Jean Marc Marino (Fra) Cannondale
- DNF Daniele Ratto (Ita) Cannondale
- DNF Ivan Basso (Ita) Cannondale
- DNF Paul Martens (Ger) Belkin Pro Cycling Team
- DNF Steven Kruijswijk (Ned) Belkin Pro Cycling Team
- DNF Jack Bobridge (Aus) Belkin Pro Cycling Team
- DNF Fredrik Carl Wilhelm Kessiakoff (Swe) Astana Pro Team
- DNF Alexsandr Dyachenko (Kaz) Astana Pro Team
- DNF Nathan Earle (Aus) Team Sky
- DNF Kanstantsin Siutsou (Blr) Team Sky
- DNF Serge Pauwels (Bel) Omega Pharma - Quick-Step Cycling Team
- DNF Petr Vakoc (Cze) Omega Pharma - Quick-Step Cycling Team
- DNF Thomas De Gendt (Bel) Omega Pharma - Quick-Step Cycling Team
- DNF Pieter Serry (Bel) Omega Pharma - Quick-Step Cycling Team
- DNF Jesus Hernandez Blazquez (Spa) Tinkoff-Saxo
- DNF Bruno Pires (Por) Tinkoff-Saxo
- DNF Chris Anker Sörensen (Den) Tinkoff-Saxo
- DNF Eros Capecchi (Ita) Movistar Team
- DNF Igor Anton (Spa) Movistar Team
- DNF Maxim Belkov (Rus) Team Katusha
- DNF Alberto Losada Alguacil (Spa) Team Katusha
- DNF Phillip Gaimon (USA) Garmin Sharp
- DNF Nathan Brown (USA) Garmin Sharp
Klasyfikacja generalna po 7. etapie:
- 1 Joaquin Rodriguez Oliver (Spa) Team Katusha 29:41:34
- 2 Alberto Contador Velasco (Spa) Tinkoff-Saxo 0:00:04
- 3 Tejay van Garderen (USA) BMC Racing Team 0:00:07
- 4 Romain Bardet (Fra) AG2R La Mondiale 0:00:10
- 5 Nairo Alexander Quintana Rojas (Col) Movistar Team
- 6 Christopher Froome (GBr) Team Sky 0:00:17
- 7 Andrew Talansky (USA) Garmin Sharp 0:00:18
- 8 Domenico Pozzovivo (Ita) AG2R La Mondiale 0:00:26
- 9 Warren Barguil (Fra) Team Giant-Shimano 0:00:42
- 10 Robert Kiserlovski (Cro) Trek Factory Racing 0:00:48
- 11 Valerio Agnoli (Ita) Astana Pro Team 0:01:00
- 12 Wilco Kelderman (Ned) Belkin Pro Cycling Team 0:01:01
- 13 Thibaut Pinot (Fra) FDJ.fr 0:01:20
- 14 Luis Angel Mate Mardones (Spa) Cofidis, Solutions Credits 0:01:24
- 15 Ryder Hesjedal (Can) Garmin Sharp 0:01:26
- 16 Daniel Martin (Irl) Garmin Sharp 0:01:49
- 17 David Lopez Garcia (Spa) Team Sky 0:01:54
- 18 Daniel Moreno Fernandez (Spa) Team Katusha 0:01:58
- 19 Sander Armee (Bel) Lotto Belisol
- 20 Fabio Aru (Ita) Astana Pro Team 0:02:34
- 21 Carlos Verona (Spa) Omega Pharma - Quick-Step Cycling Team 0:03:37
- 22 Adam Yates (GBr) Orica GreenEdge 0:03:42
- 23 Yoann Bagot (Fra) Cofidis, Solutions Credits 0:03:44
- 24 Daniel Navarro Garcia (Spa) Cofidis, Solutions Credits 0:03:47
- 25 Mikael Cherel (Fra) AG2R La Mondiale 0:04:00
- 26 José Herrada Lopez (Spa) Movistar Team 0:04:42
- 27 Luis Leon Sanchez (Spa) Caja Rural - Seguros RGA 0:04:49
- 28 Arnold Jeannesson (Fra) FDJ.fr 0:05:21
- 29 Rigoberto Uran (Col) Omega Pharma - Quick-Step Cycling Team 0:06:26
- 30 Gianluca Brambilla (Ita) Omega Pharma - Quick-Step Cycling Team 0:07:25
- 31 George Bennett (NZl) Cannondale 0:07:28
- 32 Darwin Atapuma Hurtado (Col) BMC Racing Team 0:08:16
- 33 Davide Malacarne (Ita) Team Europcar 0:08:23
- 34 Jurgen Van Den Broeck (Bel) Lotto Belisol 0:08:49
- 35 Mikel Landa Meana (Spa) Astana Pro Team 0:09:24
- 36 Peter Stetina (USA) BMC Racing Team 0:09:25
- 37 Amets Txurruka (Spa) Caja Rural - Seguros RGA 0:12:07
- 38 Jose Rodolfo Serpa Perez (Col) Lampre-Merida 0:12:49
- 39 Giampaolo Caruso (Ita) Team Katusha 0:12:58
- 40 Christian Meier (Can) Orica GreenEdge 0:14:19
- 41 Ruben Plaza Molina (Spa) Movistar Team 0:14:53
- 42 Branislau Samoilau (Blr) CCC Polsat Polkowice 0:14:54
- 43 Jonathan Castroviejo Nicolas (Spa) Movistar Team 0:15:12
- 44 Stef Clement (Ned) Belkin Pro Cycling Team 0:16:08
- 45 Samuel Sanchez (Spa) BMC Racing Team 0:16:53
- 46 Jhoan Esteban Chaves (Col) Orica GreenEdge 0:17:05
- 47 Davide Rebellin (Ita) CCC Polsat Polkowice 0:18:37
- 48 Lawrence Warbasse (USA) BMC Racing Team 0:18:50
- 49 Ben Gastauer (Lux) AG2R La Mondiale 0:19:15
- 50 Andrey Zeits (Kaz) Astana Pro Team 0:23:03
- 51 Javier Moreno Bazan (Spa) Movistar Team 0:23:27
- 52 Rudy Molard (Fra) Cofidis, Solutions Credits 0:24:06
- 53 Jérémy Roy (Fra) FDJ.fr 0:24:31
- 54 Maxime Mederel (Fra) Team Europcar 0:24:55
- 55 Lieuwe Westra (Ned) Astana Pro Team 0:25:24
- 56 Cayetano José Sarmiento Tunarrosa (Col) Cannondale 0:25:44
- 57 Maciej Paterski (Pol) CCC Polsat Polkowice 0:25:55
- 58 Jan Polanc (Slo) Lampre-Merida 0:26:09
- 59 Martin Kohler (Swi) BMC Racing Team 0:26:14
- 60 Johannes Fröhlinger (Ger) Team Giant-Shimano 0:27:06
- 61 Winner Anacona Gomez (Col) Lampre-Merida 0:27:43
- 62 Laurens Ten Dam (Ned) Belkin Pro Cycling Team 0:27:44
- 63 Jens Voigt (Ger) Trek Factory Racing 0:28:08
- 64 Koldo Fernandez (Spa) Garmin Sharp 0:28:52
- 65 Tosh Van Der Sande (Bel) Lotto Belisol 0:29:08
- 66 Romain Hardy (Fra) Cofidis, Solutions Credits 0:29:21
- 67 Rory Sutherland (Aus) Tinkoff-Saxo 0:29:23
- 68 Kévin Reza (Fra) Team Europcar 0:29:57
- 69 Javier Alexis Acevedo Colle (Col) Garmin Sharp 0:30:38
- 70 Thomas Degand (Bel) Wanty - Groupe Gobert 0:32:14
- 71 Perrig Quemeneur (Fra) Team Europcar 0:33:30
- 72 Adrian Honkisz (Pol) CCC Polsat Polkowice 0:35:00
- 73 Martijn Keizer (Ned) Belkin Pro Cycling Team 0:35:17
- 74 Samuel Dumoulin (Fra) AG2R La Mondiale 0:35:37
- 75 Eduard Vorganov (Rus) Team Katusha 0:36:06
- 76 Yannick Eijssen (Bel) BMC Racing Team 0:36:30
- 77 Marcus Burghardt (Ger) BMC Racing Team 0:36:38
- 78 Cédric Pineau (Fra) FDJ.fr 0:36:49
- 79 Sergio Miguel Moreira Paulinho (Por) Tinkoff-Saxo 0:36:56
- 80 Thomas Damuseau (Fra) Team Giant-Shimano 0:37:24
- 81 Sébastien Minard (Fra) AG2R La Mondiale 0:37:47
- 82 Nico Sijmens (Bel) Wanty - Groupe Gobert 0:38:04
- 83 Julian Alaphilippe (Fra) Omega Pharma - Quick-Step Cycling Team 0:39:16
- 84 Boris Vallee (Bel) Lotto Belisol 0:39:20
- 85 Fumiyuki Beppu (Jpn) Trek Factory Racing 0:39:22
- 86 Michel Kreder (Ned) Wanty - Groupe Gobert 0:40:45
- 87 Kenny Elissonde (Fra) FDJ.fr 0:41:30
- 88 Thomas Voeckler (Fra) Team Europcar 0:41:34
- 89 Angel Madrazo Ruiz (Spa) Caja Rural - Seguros RGA 0:41:43
- 90 Łukasz Owsian (Pol) CCC Polsat Polkowice 0:42:08
- 91 Angel Vicioso Arcos (Spa) Team Katusha 0:42:43
- 92 Jussi Veikkanen (Fin) FDJ.fr 0:43:40
- 93 Michel Koch (Ger) Cannondale 0:43:51
- 94 Jérôme Baugnies (Bel) Wanty - Groupe Gobert 0:46:10
- 95 Natnael Berhane (Eri) Team Europcar 0:47:23
- 96 Julian Kern (Ger) AG2R La Mondiale 0:50:56
- 97 Pablo Lastras Garcia (Spa) Movistar Team 0:51:26
- 98 Pavel Brutt (Rus) Team Katusha 0:51:27
- 99 Danny Pate (USA) Team Sky 0:52:20
- 100 Anthony Roux (Fra) FDJ.fr 1:00:07
- 101 Stéphane Poulhies (Fra) Cofidis, Solutions Credits 1:11:40