The Australian worked hard to make it into the break of 17 riders, bridging across with Pawel Poljanski (Bora-hansgrohe) by the second climb of the day.
The peloton kept a tight rein on the leaders until O'Connor went clear with Dani Navarro (Katusha Alpecin) to join Sergio Samitier (Euskadi Basque Country - Murias) up the road on the Puerto del Pozo de las Muejeres Muertas, the stage's penultimate climb.
The trio crested the summit around 90 seconds ahead of the chasers but Vasil Kiryienka (Ineos) pulled huge turns on the valley road to bring the leaders back together before the final ascent.
Stage winner Sepp Kuss (Jumbo-Visma) then launched himself up the Puerto del Acebo while O'Connor survived after earlier spending all his biscuits to fight for sixth place at the finish.
It was O'Connor's second dig in a breakaway at this year's Vuelta after taking his chances on Stage 12, today's result eclipsing his 54th place on that day.
"I took my chances a little bit earlier," O'Connor said of his attack on the penultime climb. "But the group I was with probably just wasn't strong enough and I think it was Kiryienka who made the difference and had us all under control
"I did what I could on the final climb but I wasted a lot before so it's a bit of a shame but to be honest i'm pretty stoked, first top 10 so yeah, things to come!"
The Vuelta continues tonight with Stage 16 stretching 144.4km from Pravia to Alto de La Cubilla. Lena, another punishing mountain stage LIVE streaming to Cycling Central / SBS OnDemand from 9.15pm AEST and broadcast live on SBS Viceland from 10.40pm AEST.
Or if you can't stay up, catch the daily highlights on SBS at 5pm or via our website.