NAIROBI, Kenya Nov 29 – The by-elections held on Thursday have delivered a political shock that many Kenyans on social media did not see coming.
For nearly two years, President William Ruto has endured wave after wave of online anger.
Hashtags demanding he must go, Gen Z protests, TikTok rants, and daily vows that 2027 would end his presidency.
But when it came to the ballot, the picture changed completely.
The broad-based government, formed after the turbulent June 2025 protests, swept almost every seat on the table, including the hotly contested Mbeere North and Malava parliamentary races.
These were the very constituencies the United Opposition had promised to use to “embarrass” the government.
Instead, they were the clearest signs yet that Kenya’s online mood and Kenya’s real voters may be living in two different countries.
For two years, Kenyans on X, Facebook and TikTok called the President everything from a betrayer to a dictator.
Their frustrations were rooted in real struggles, a tough economy, broken promises, new taxes, and corruption scandals that refused to go away.
That anger exploded on June 25, 2025, when Gen Z-led protests shook the country.
Hundreds were killed, others injured, and many disappeared in the chaos.
– Broad-based govt silent supporters –
It took the late Raila Odinga’s intervention to calm the streets, eventually leading to the formation of the broad-based government, a move that left many of his longtime supporters feeling betrayed.
After that, online Kenyans vowed to punish both Raila and Ruto at the next election.
“One term!” became the rallying cry.
Yet the by-election results tell a different story.
And that story is simple. The people who shout the loudest online are not always the ones who vote.
The broad-based coalition won all the parliamentary seats in play — Mbeere North, Kasipul, Malava, Ugunja, Banissa, Magarini — and even took the Baringo Senate race.
In total, ODM and UDA partners claimed 18 out of 24 seats.
For Ruto, this wasn’t just another victory. It was a loud statement heading into 2027.
Speaking on Thursday, a bullish President Ruto brushed off criticism that he is constantly in campaign mode.
“This is not the politics season. Stop the noise,” he said. “When the day comes, they will not believe it. Kenyans believe in unity and prosperity.”
His supporters say the vote shows confidence in his leadership and the broad-based arrangement. Critics disagree.
– United Opposition cries foul –
The United Opposition, led by Ruto’s estranged former deputy Rigathi Gachagua and Wiper leader Kalonzo Musyoka, dismissed the results as a state-manufactured victory.
Spokesperson Mukhisa Kituyi claimed the government used “massive public resources, money, and influence” to tilt the race.
He insisted that the by-elections “do not reflect the will of the people” and warned that 2027 will be “a bigger battle.”
Still, the wins are a heavy blow for the opposition.
Mbeere North and Malava were meant to be symbolic battlegrounds, places where they would show that the country is rejecting Ruto. That effort collapsed.
The by-elections have triggered a fresh reality that Kenyans online might be living in an echo chamber and that Ruto’s critics may be loud, but the President’s voters are loyal, organised, and still showing up.
The subsequent results however do not guarantee him a second term as many things can change before 2027 but they have revived his confidence and disrupted the narrative that he is a one-term president.
Meanwhile, the uncomfortable truth is that, the online country may hate Ruto, but the offline country still votes for him.
























