The duo started the final day just 0.8 seconds apart as they hunted for their first top-level triumphs.
Sordo pulled out a little breathing space as he beat Neuville by 2.2s on the first run through the Dhrontal stage on which all Sunday's action took place.
Neuville gave his utmost to try to recover that advantage on the repeat run, but looked set to fall slightly short even before an excursion in the final few kilometres cost him nearly a minute.
The battle was the closest that M-Sport has come to a rally win since losing its Ford factory support at the end of last year, and marked the first time that anyone other than Sebastien Loeb has won in a Citroen this season.
Sordo had achieved 34 WRC podiums so far in his career without winning, and knew that his future depended on his Germany performance, with Citroen dropping him for the next event in Australia to give Kris Meeke another shot.
Sordo and Neuville rose to the front after both Volkswagens had accidents while leading.
Championship leader Sebastien Ogier looked set to pull away following fastest times on Thursday evening's stages, only to crash out on Friday morning.
That left his team-mate Jari-Matti Latvala holding a shrinking advantage over Neuville.
Just as Neuville seemed poised to grab the lead, Latvala retaliated and started to pull away, only to damage his car on Panzerplatte.
He escaped that incident still leading, then struggled with a co-driver's door flapping open before going off on Saturday afternoon.
Neuville had an impact of his own on the same stage, damaging his Ford's exhaust and allowing Sordo - who had been getting ever closer to him anyway - to claim the rally lead going into the final day.
The attrition rate was very high. Even before Ogier and Latvala's incidents, VW was one car down because Andreas Mikkelsen's co-driver Mikko Markkula was diagnosed with a back injury pre-rally.
All three of Neuville's M-Sport team-mates Mads Ostberg, Evgeny Novikov and Nasser Al-Attiyah crashed and had to return under Rally2.
That meant Martin Prokop emerged with a distant but equal-career-best fourth place.
It also elevated an astonishing WRC2 lead battle between Robert Kubica and Elfyn Evans into the overall top five.
Kubica had the early edge, before they swapped the class lead four times on an incident-packed Saturday.
A blistering run through Sunday's opening stage finally settled it in Kubica's favour, as he moved into the WRC2 championship lead.
Ogier was unable to get back anywhere near the top 10, but still took three points as he topped the powerstage.
- Sports & Recreation
- Sebastien Loeb
- Sebastien Ogier