Despite their efforts, Astana missed the day's break but piled on the pressure by the Puerto de Chia climb. Lopez attempted several escapes on the penultimate, Puerto de Peña Negra but his super star rivals shut him down each time.
Tadej Pogacar then galloped away inside the final 40kms, taking Lopez's young rider jersey with him and the third step on the Madrid podium.
"We did all we could today," Lopez said. "We fought until the last metre of this stage. Honestly, I did not feel great today as I suffered a bit after my yesterday’s crash.
"In the moments of accelerations, I felt some pain and could not push at 100%. Anyway, I kept on attacking aiming for a podium place. It was my main goal. But, in the end of the day I missed a bit while the others were just stronger.
"However, today I have no regrets because me and the whole team we gave our best."
Lopez will not walk away empty-handed from this year's Vuelta, holding his head high with a number of days in the red and white jerseys, plus knowing he animated this year's edition.
Overnight, Miguel Angel Lopez apologised via Twitter to Movistar for his choice words at their decision to push on after a significant crash took out he and race leader Primoz Roglic during Stage 19.
At the start of Stage 20 he also apologised to Alejandro Valverde, walking back his "what a world champion we have" barb.