Kaduna, the old capital of the Northern Region, is one of Nigeria’s most politically important and most divided states. Its mainly Muslim north and mainly Christian south have often voted differently, and some of its elections have ended in bloodshed. The PDP governed from 1999 to 2015; the APC has held the state since. Its 2023 governorship race was one of the closest anywhere in the country.

1999 and 2003: Makarfi

Ahmed Mohammed Makarfi, a former state finance commissioner, won the January 1999 election for the PDP with 844,525 votes against 512,544 for Suleiman Zuntu of the All People’s Party. His first term was scarred by the February 2000 riots over the introduction of sharia law and the November 2002 “Miss World” riots, in which hundreds of people died in Kaduna city. He was re-elected in April 2003 with 1,143,890 votes to 668,446 for the ANPP’s Suleiman Othman Hunkuyi. Makarfi later became a senator and, in 2016–2017, caretaker chairman of the PDP.

2007: Namadi Sambo, then Yakowa

The architect Mohammed Namadi Sambo won in April 2007 with 1,326,632 votes, far ahead of the ANPP’s Sani Muhammed Sha’aban on 478,725. In May 2010, after President Yar’Adua’s death, President Goodluck Jonathan chose Sambo as his Vice-President, and the deputy governor, Patrick Ibrahim Yakowa, became the first Christian from southern Kaduna to govern the state.

2011: Yakowa’s win and the violence

Yakowa ran for a full term in April 2011 against Haruna Saeed Kajuru of Muhammadu Buhari’s Congress for Progressive Change. The governorship vote was delayed by two days for security reasons after the presidential result set off riots across the North. Kaduna was the worst-hit state: Human Rights Watch reported that hundreds were killed there, in attacks on both Muslim and Christian communities. Yakowa won with 1,334,319 votes (52.3%) to Saeed’s 1,133,564 (44.5%).

On 15 December 2012 Yakowa died in a navy helicopter crash in Bayelsa State, together with former National Security Adviser Andrew Azazi. His deputy, Mukhtar Ramalan Yero, was sworn in.

2015 and 2019: El-Rufai

In 2015 former FCT minister Nasir Ahmad El-Rufai took the APC ticket and unseated Yero on 11 April, 1,117,635 votes (68.6%) to 485,833 (29.8%), winning 17 of the 23 local governments. El-Rufai’s two terms were marked by sweeping reforms of the civil service and schools, the demolition of buildings and markets, and the rise of bandit gangs and mass kidnappings across the state.

In March 2019 he was re-elected with 1,045,427 votes (55.3%) against 814,168 for the PDP’s Isa Ashiru, a former member of the House of Representatives, with the PDP winning most of southern Kaduna.

2023: under 11,000 votes

El-Rufai backed Uba Sani, the senator for Kaduna Central, who won the APC primary in May 2022. Ashiru ran again for the PDP. On 20 March 2023 INEC declared Uba Sani the winner with 730,002 votes (47.2%) against Ashiru’s 719,196 (46.5%), a margin of 10,806. The Labour Party’s Jonathan Asake polled 58,283. The PDP rejected the result, but the tribunal, the Court of Appeal and the Supreme Court all upheld it.

The results at a glance

Year Winner (party) Votes Runner-up (party) Votes
1999 Ahmed Makarfi (PDP) 844,525 Suleiman Zuntu (APP) 512,544
2003 Ahmed Makarfi (PDP) 1,143,890 Suleiman Hunkuyi (ANPP) 668,446
2007 Namadi Sambo (PDP) 1,326,632 Sani Sha’aban (ANPP) 478,725
2011 Patrick Yakowa (PDP) 1,334,319 Haruna Saeed Kajuru (CPC) 1,133,564
2015 Nasir El-Rufai (APC) 1,117,635 Mukhtar Ramalan Yero (PDP) 485,833
2019 Nasir El-Rufai (APC) 1,045,427 Isa Ashiru (PDP) 814,168
2023 Uba Sani (APC) 730,002 Isa Ashiru (PDP) 719,196

2027: Uba Sani against Ashiru, again

Uba Sani is the APC candidate for a second term in the 6 February 2027 election. His 2023 opponent, Isa Mohammed Ashiru, is running again, this time for the ADC, according to INEC’s final list. The PDP is fielding Bawa Shehu Usman. With the opposition vote divided between the ADC and the PDP, the turnout in southern Kaduna and the margins in the populous Zaria and Kaduna North areas are likely to decide the race.

Read more on elect.ng