Once again the Paris-Nice overall title would be decided on the final day of the race on the 110km route around the hills outside the city.
"In the final climb, Astana controlled the pace but (team mate) Roman (Kreuziger) and I chose to accelerate and we went for it", said Yates.
"It was a decision we planned in the morning with my team directors and my team-mates".
Soler, who rides for Movistar and trailed his British rival by 37 seconds ahead of the eighth and final stage in the Nice hinterland, claimed his biggest career win by just four seconds.
"It's a dream. I've never won a WorldTour race before. I'm progressing step by step".
At one point, it looked like Gorka and Ion Izagirre might be able to bring Soler back and put one of themselves in yellow, with Yates struggling further back down the road, but they collided with each other on a descent and put paid to their own hopes of an overall win.
And Yates then made his move to the top of the standings on the penultimate day with victory on the queen stage at La Colmiane, the Briton seizing an opportunity as Sanchez waned.
The key stages of the 2018 race will be stage four's 18.4-kilometre individual time trial; climbing stages six and seven; and the final stage around Nice itself. Marc Soler did a very good ride, I congratulate him. I had a stage win yesterday. "I'm getting closer. previous year I lost (the Tour of Romandie) on the last day as well, by 20 seconds. Today a great rider won".