Roche was part of a 25-man breakaway early in the stage and held off Spain's Haimar Zubeldia on the descent to the finish to win the 204km stage from Roa to
Aru attacked several times on the climb up Puerto de la Quesera just before the finish, but couldn't distance Dumoulin as all the top contenders finished 38 seconds back
Stage 18
1. Nicolas Roche (IRL/SKY) 5hr 03min 59sec, 2. Haimar Zubeldia (ESP/TRE) at 0:00, 3. Jose Goncalves (POR/CJR) 0:18, 4. Alejandro Valverde (ESP/MOV) 0:38, 5. Esteban Chaves (COL/ORI) s.t., 6. Joaquim Rodriguez (ESP/KAT) s.t., 7. Pieter Serry (BEL/ETI) s.t., 8. Adam Hansen (AUS/LOT) s.t., 9. Gianluca Brambilla (ITA/ETI) s.t., 10. Domenico Pozzovivo (ITA/ALM) s.t., 11. Fabio Aru (ITA/AST) s.t., 12. Rafal Majka (POL/TIN) s.t., 13. Andre Cardoso (POR/CAN) s.t., 14. Mikel Nieve (ESP/SKY) s.t., 15. Tom Dumoulin (NED/GIA) s.t., 16. Bart De Clercq (BEL/LOT) s.t., 17. Louis Meintjes (RSA/MTN) s.t., 18. Jose Joaquin Rojas (ESP/MOV) s.t., 19. Nairo Quintana (COL/MOV) s.t., 20. Daniel Moreno (ESP/KAT) s.t.
Overall
1. Tom Dumoulin (NED/GIA) 73hr 45min 13sec, 2. Fabio Aru (ITA/AST) at 0:03, 3. Joaquim Rodriguez (ESP/KAT) 1:15, 4. Rafal Majka (POL/TIN) 2:22, 5. Nairo Quintana (COL/MOV) 2:53, 6. Alejandro Valverde (ESP/MOV) 3:15, 7. Esteban Chaves (COL/ORI) 3:30, 8. Daniel Moreno (ESP/KAT) 3:46, 9. Mikel Nieve (ESP/SKY) 4:10, 10. Louis Meintjes (RSA/MTN) 6:51, 11. Domenico Pozzovivo (ITA/ALM) 7:41, 12. Gianluca Brambilla (ITA/ETI) 10:47, 13. Fabrice Jeandesboz (FRA/EUC) 13:15m, 14. Bart De Clercq (BEL/LOT) 13:38, 15. Romain Sicard (FRA/EUC) 18:06, 16. Kenny Elissonde (FRA/FDJ) 18:21, 17. Andre Cardoso (POR/CAN) 19:37, 18. Stephane Rossetto (FRA/COF) 21:55, 19. David Arroyo (ESP/CJR) 30:04, 20. Giovanni Visconti (ITA/MOV) 35:46.