Army spokesman Philip Aguer confirmed the recapture of Bentiu, the capital of Unity state and added: "When you control Bentiu you control all the oilfields in Unity state."
Three weeks of fighting have killed more than 1000 people and driven 230,000 from their homes. The clashes have continued despite stuttering peace talks in neighbouring Ethiopia.
South Sudan's oil production fell by 45,000 barrels per day to 200,000 bpd after oilfields in Unity state were shut down due to fighting between rebels loyal to former vice-president Riek Machar and the government of President Salva Kiir.
The UN has accused both rebels and government forces of obstructing the aid response to the nation's humanitarian crisis.
Rebels had looted warehouses, commandeered aid agency vehicles and ransacked property in both Bentiu and the town of Bor, the UN Mission in South Sudan (UNMISS) said.
It also accused government authorities of hampering UN flights carrying supplies for peacekeepers and clinics.