But the tense battle for second place was fought until the dying stages.
Villa’s start was exceptional – he reacted to the lights instantaneously and had several car lengths on the field as he turned into the chicane.
Behind him Adrian Zaugg drove all the way across to the pit lane exit in defence of his second place from the two Trident cars.
The field got around the first corners cleanly but the action started halfway around the lap.
Giorgio Pantano got ahead of Timo Glock and lunged down the inside of Lucas di Grassi at the RTL Kurve. The pair made contact, allowing Glock to pass the pair of them.
This compressed the chasing pack behind them and Nicolas Lapierre made an optimistic attempt to pass Ernesto Viso for ninth on the outside of the entry to the chicane. Viso took his normal line and pushed Lapierre clean off the road, the furious Frenchman storming back to the pits.
That left Villa with a healthy lead – by lap five it was 3.2s and it settled at that gap for the next few laps. Behind him were Zaugg, Hirate, Maldonado, Kazuki Nakajima, Glock, di Grassi and Pantano.
Title contender Luca Filippi’s rotten weekend didn’t get any better in the sprint race – after a long stay in the pits he returned to the track and spun into retirement at the hairpin.
At the halfway point Villa still had a substantial lead but a six-car battle behind him was developing, with second to seventh covered by four seconds.
Nakajima sprung an attack on Maldonado on lap 16, diving down the inside of the hairpin from a long way back and seizing fourth.
But Hirate didn’t look capable of reducing the gap to Villa – which was now 7.4s – and looked more concerned with keeping compatriot Nakajima behind him.
Nakajima chased Hirate across the line on lap 21 but braked too late for the hairpin in his attempt to pass and fell back again.
Ho Pin Tung tried to pass Borja Garcia on the inside of the RTL Kurve with three laps to go but Garcia turned in on the Chinese driver and the two spun off. Garcia got going again but Tung was out.
Nakajima had another go at Hirate on the next time around, looking on the outside of the first, second and third corner.
Villa had a late scare at the chicane on the penultimate lap, out-breaking himself and threading through the escape road happily without damaging his car. It was the 19 year-old’s only major blip in a fine drive, repeating his win from Magny-Cours.
Hirate clung on to second from Nakajima, who finished third for the fourth race in a row.
Maldonado was fourth, Viso took two points for fifth and championship rival di Grassi a single point for sixth.