Mikel Landa (Euskaltel-Euskadi) finished second and Rui Costa (Movistar) crossed the finish line third in the race that is traditionally dominated and won by Spanish riders.
Moreno won the sprint to the line at the top of the third category climb of the Basilica del Puy at the end of the 179.3 km route from Estella.
David Belda (Burgos), Jose Cano (Andalusia), Julian Sanchez (Caja Rural) and Haritz Orb (Orbea) formed an early break and built up a lead of seven minutes over the course that featured six climbs.
But predictably in a race that is a prelude to the Tour of Basque Country, Euskaltel Euskadi - one of eight Pro Tour teams competing - pulled back the escapees.
However a group of 12 men escaped with 3km remaining but they were caught on the descent by Moreno who then had the speed on the climb to grab his second win of this 2012, after stage four of the Vuelta a Andalucia.