The Malawi Electoral Commission (MEC) conducted Parliamentary and Local Government By-elections and a Parliamentary Fresh Election on 30 June 2026 in accordance with the electoral calendar established for the polls. The elections were held in:

  • Lilongwe City Bwaila Constituency
  • Machinga Mikoko Constituency
  • Uliwa Ward in Karonga South Constituency
  • Kanjuli Ward in Machinga Central East Constituency
  • Balaka Mulunguzi Constituency (Fresh Election)

The vacancies arose from different circumstances. In Lilongwe City Bwaila, the Commission had nullified the electoral process during the 2025 Parliamentary Elections. Machinga Mikoko became vacant following the death of Member of Parliament Jaffalie Mussa on 27 February 2026. Uliwa Ward became vacant following the death of Councillor Hawkins Munthali on 23 March 2026, while Kanjuli Ward became vacant following the death of Councillor Simplex Adamson Diwa on 29 March 2026. The Balaka Mulunguzi fresh election followed a Supreme Court ruling concerning the 2025 election.

Voter Registration

The electoral process began with voter registration. In the four by-election areas, registration was conducted for seven days, from 12 to 18 May 2026, with centres opening from 8:00 a.m. to 4:00 p.m.

Eligible citizens aged 18 and above, including those who would attain 18 years by polling day, were allowed to register. However, registration was only for people who had not registered for the 2025 General Election or the 17 March 2026 by-elections. Those already registered did not need to register again.

There was also no transfer of voters for these by-elections. Voters who had moved from another area therefore remained registered in their original constituency or ward.

Inspection of the Voters’ Register

The Commission conducted inspection and verification of the voters’ register on 30 and 31 May 2026. Registered voters were encouraged to visit the centres where they had registered to confirm their details.

The Commission also provided an electronic verification facility through *2509# on TNM and Airtel networks. Voters who had lost their voter certificates were assisted to obtain replacements.

Nomination of Candidates

The nomination process followed the registration and inspection exercises. Candidates were required to meet the statutory eligibility requirements and pay the prescribed nomination fees.

For parliamentary elections, the nomination fee was K2.5 million for male candidates and K1.25 million for women, youth and persons with disabilities. For local government elections, the fees were K200,000 for male candidates and K100,000 for women, youth and persons with disabilities.

Nomination papers were pre-examined on 8 June, while formal presentation took place on 9 June 2026.

In Lilongwe City Bwaila, candidates who had been duly nominated for the 2025 election and maintained the same political affiliation were allowed to confirm their intention to contest through letters of intent rather than submitting new nomination papers.

Campaigns

The official campaign period commenced on 30 April 2026 and ended at 6:00 a.m. on 28 June 2026.

Throughout the campaign period, MEC urged political parties, candidates and their supporters to conduct issue-based campaigns and avoid inflammatory language, violence and intimidation. Stakeholders were also reminded that the use of public resources and distribution of handouts for campaign purposes were prohibited.

Pre-checking of Polling Materials

On 29 June 2026, Presiding Officers conducted the pre-checking of polling materials at all polling stations. Ballot papers, results sheets and other electoral materials were opened and checked to confirm that the correct materials had been supplied and that the quantities were accurate.

Political party and independent candidate representatives were invited to witness the exercise.

Polling Day

Polling took place on 30 June 2026, from 6:00 a.m. to 4:00 p.m. MEC used Biometric Voter Verification Devices (BVVDs) alongside the physical voters’ register to identify voters. Voters were encouraged to carry their voter registration certificates, although those who had lost their certificates were still assisted after their details were positively confirmed in the voters’ register.

Voting was conducted in the presence of representatives of contesting political parties and independent candidates, as well as accredited observers.

Electoral Calendar

June 2026 by-elections electoral calendar

Downloads

TitleDownload Link
June 2026 By-elections Electoral Calendar

Download

Final Declaration Speech – 30 June 2026 Elections

Download

Chairperson’s Message on Polling – 30 June 2026

Download

End of Campaign Period Notice – 30 June 2026 Elections

Download

Guidance to Candidates and Constituency Returning Officers

Download

Notice of Publication of Names of Candidates Nominated for the 30 June 2026 Elections

Download

Chairperson’s National Launch Speech – 30 June 2026 By-elections

Download

wpChatIcon
( ! ) Warning: Array to string conversion in C:\wamp64\www\mec\wp-includes\formatting.php on line 1128 Call Stack #TimeMemoryFunctionLocation 10.0001451240{main}( )...\index.php:0 20.0001451592require( 'C:\wamp64\www\mec\wp-blog-header.php )...\index.php:17 30.769014103664require_once( 'C:\wamp64\www\mec\wp-includes\template-loader.php )...\wp-blog-header.php:19 40.787514239368include( 'C:\wamp64\www\mec\wp-content\plugins\elementor\modules\page-templates\templates\header-footer.php )...\template-loader.php:132 52.185221379984get_footer( $name = ???, $args = ??? )...\header-footer.php:30 62.185221380200locate_template( $template_names = [0 => 'footer.php'], $load = TRUE, $load_once = TRUE, $args = [] )...\general-template.php:92 72.185321380280load_template( $_template_file = 'C:\\wamp64\\www\\mec/wp-content/themes/govity/footer.php', $load_once = TRUE, $args = [] )...\template.php:749 82.185321380568require_once( 'C:\wamp64\www\mec\wp-content\themes\govity\footer.php )...\template.php:814 92.481522412600wp_footer( )...\footer.php:23 102.481522412600do_action( $hook_name = 'wp_footer' )...\general-template.php:3429 112.481522412816WP_Hook->do_action( $args = [0 => ''] )...\plugin.php:523 122.481522412816WP_Hook->apply_filters( $value = '', $args = [0 => ''] )...\class-wp-hook.php:377 132.483622414344wp_chatbot_load_footer_html( '' )...\class-wp-hook.php:353 142.484122416264require_once( 'C:\wamp64\www\mec\wp-content\plugins\chatbot\templates\template-00\template.php )...\functions.php:133 152.485622419392esc_attr( $text = ['en_US' => 'Close'] )...\template.php:53 162.485622419392wp_check_invalid_utf8( $text = ['en_US' => 'Close'], $strip = ??? )...\formatting.php:4777 Array">
wpChatIcon