Sebastien Loeb is cruising to victory in Bulgaria, but a charge by Petter Solberg has set up a tight battle for second on the final day.
Having fallen nearly half a minute behind second-placed Dani Sordo this morning, Solberg made set-up changes to his self-run Citroen at lunchtime.
The work clearly paid off, as the former champion won every stage this afternoon and hacked Sordo's advantage down to just 4.7 seconds.
"It's not bad at all to be in a private team and fighting like this," said the delighted Solberg.
"The change on the car this afternoon made quite a big difference for attacking, especially mid-corner to get on the throttle earlier. It was just detail changes, but it was enough."
Sordo was frustrated at the end of the loop, though. He had taken two spare tyres as a precaution and felt this had cost him time to Solberg.
"I tried to push hard, but the car at the back is really heavy, it's moving all the time," said Sordo. "I really tried to attack but it's impossible to do the times.
"There must be something happening at the back because it's moving a lot, the car is very difficult to drive. Maybe tomorrow will be better.
"I took two spare tyres for nothing in the end. I tried to go really fast in this stage and all the time Sebastien and Petter were faster, so I really don't know."
While Sordo and Solberg battle, Loeb's lead over his Citroen team-mate has increased to 40.5s. The leader was the only driver to take soft tyres on all four corners this afternoon, in anticipation of rain that ultimately never came, but Loeb felt the cautious approach was a better idea than risking his advantage.
"It was a safety tyre choice, we were maybe expecting rain," he said. "We knew that if it was raining and Solberg was on soft and we were on hard, we could lose a minute. Tomorrow we have to stay on the road, just try and drive through the strages without big risks."
The Fords are still in distant fourth and fifth places, with Jari-Matti Latvala dropping away from Mikko Hirvonen as he struggled with broken power steering on the last three stages.
P-G Andersson (Stobart Ford) has pulled clear of Hungarian Peugeot 307 driver Frigyes Turan in seventh again, while Kimi Raikkonen is continuing in 14th place under superally rules in his repaired Citroen Junior C4.
The very close Junior series battle was broken up this morning when narrow overnight leader Mathieu Arzeno had a puncture. He later crashed out, by which time his Friday sparring partner Thierry Neuville had a big lead over Hans Weijs.
Pos Driver Car Time/Gap 1. Sebastien Loeb Citroen 2h12m49.3s 2. Dani Sordo Citroen + 40.5s 3. Petter Solberg Citroen + 45.2s 4. Sebastien Ogier Citroen + 2m05.7s 5. Mikko Hirvonen Ford + 2m50.4s 6. Jari-Matti Latvala Ford + 3m33.1s 7. P-G Andersson Ford + 4m35.8s 8. Frigyes Turan Peugeot + 5m39.2s 9. Matthew Wilson Ford + 7m34.7s 10. Henning Solberg Ford + 10m04.6s