Audio By Vocalize

Situation at the Roysambu stage, Thika Road. [Cosmas Mwongela, Standard]

Thousands of commuters across the country were stranded Monday after matatu operators made good on their threat to paralyse public transport services in protest against soaring fuel prices.

The strike, which disrupted movement in major towns and highways, saw most matatus keep off the roads as transport sector players intensified pressure on the government to lower fuel costs.

Apart from matatus, ride-hailing services, boda boda operators, trucks and other cargo transport companies also stayed off the roads as the industrial action gained momentum.

8:46 am: Protestors block the Nyahururu -Nairobi highway at Madaraka area in Nyandarua County following an increase in fuel prices. 

8:42 am: Transport activities in the Machakos town center at a complete standstill, with some residents stranded at the Machakos bus station.

8:39 am: Heavy police presence at Kayole Junction along Kangundo Road.

8:34 am: Several shops in Nairobi’s City Walk Way remain closed.

8:26 am: Minimal activities along Moi Avenue, Nairobi

8:22 am: Youths block roads at various points in Rongai town, bringing traffic to a standstill 

8:18 am: Bonfire and road blocks reported at Roysambu, Thika Road.

8:17 am: The Nanyuki main stage remains deserted as all the sacco withdrew their vehicles. 

8:07 am: No matatus reported in Kakamega town.

7:58 am: A protest erupted in Kitengela town, with the main road barricaded.

7:54 am: No matatu spotted at the bust Kibarani stage in Mombasa County.

7:48 am: Various motorists turned away at the Kangemi flyover stage.

7:34 am: Limuru bus terminus that boasts over 1000 matatus is deserted. No PSVs on site.

7:34 am: Uhuru Highway, Nairobi clear with few Public Service Vehicles on the road.

7:32 am: No matatus operating along the Kenol–Thika Highway.

7:27 am: Commuters stranded at the General Motors terminus.

7:13 am: Minimal movement of vehicles at the ever busy Saba Saba intersection in Mombasa.

6:40 am: The busy Murang’a PSV stage is disserted except for few boda boda riders.

More to follow…

.std-banner-wrap {
max-width: 100%;
width: 100%;
position: relative;
margin: 2.5rem 0 2rem;
font-family: Georgia, ‘Times New Roman’, serif;
}

.std-top-rule {
display: flex;
height: 4px;
}

.std-top-rule .r1 {
background: #CC0000;
flex: 3;
}

.std-top-rule .r2 {
background: #C9A84C;
flex: 1;
}

.std-top-rule .r3 {
background: #0D0D0D;
flex: 6;
}

.std-banner {
background: #F9F5F0;
padding: 2rem 2.2rem 1.8rem;
position: relative;
overflow: hidden;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10), 0 1px 0 #C9A84C;
border-left: 4px solid #CC0000;
}

.std-banner::before {
content: ‘S’;
position: absolute;
right: -1rem;
top: -2rem;
font-family: Georgia, serif;
font-size: 14rem;
font-weight: 900;
color: rgba(204, 0, 0, 0.04);
line-height: 1;
pointer-events: none;
user-select: none;
}

.std-eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.62rem;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #CC0000;
margin-bottom: 0.85rem;
font-family: Arial, sans-serif;
}

.std-eyebrow::before {
content: ”;
display: block;
width: 18px;
height: 1.5px;
background: #CC0000;
}

.std-banner-title {
font-family: Georgia, ‘Times New Roman’, serif;
font-size: clamp(1.3rem, 3.5vw, 1.75rem);
font-weight: 900;
color: #0D0D0D;
line-height: 1.2;
margin: 0 0 0.75rem;
letter-spacing: -0.02em;
}

.std-banner-title .std-hl {
color: #CC0000;
font-style: italic;
}

.std-divider {
display: flex;
align-items: center;
gap: 0.6rem;
margin-bottom: 0.9rem;
}

.std-divider::before,
.std-divider::after {
content: ”;
flex: 1;
height: 1px;
background: #d8d0c6;
}

.std-divider-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: #CC0000;
flex-shrink: 0;
}

.std-banner-body {
font-size: 0.97rem;
line-height: 1.7;
color: #2C2C2C;
font-weight: 400;
margin: 0 0 1.4rem;
font-family: Georgia, serif;
}

.std-banner-body strong {
font-weight: 700;
color: #0D0D0D;
}

.std-cta-row {
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
margin-bottom: 1.2rem;
}

.std-btn-subscribe {
display: inline-flex;
align-items: center;
gap: 0.6rem;
background: #CC0000;
color: #fff !important;
font-family: Arial, sans-serif;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
padding: 0.72rem 1.5rem 0.72rem 1.3rem;
border: none;
cursor: pointer;
text-decoration: none !important;
border-bottom: none !important;
position: relative;
overflow: hidden;
transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
box-shadow: 0 4px 16px rgba(204, 0, 0, 0.3);
clip-path: polygon(0 0, calc(100% – 10px) 0, 100% 50%, calc(100% – 10px) 100%, 0 100%);
padding-right: 1.8rem;
}

.std-btn-subscribe:hover,
.std-btn-subscribe:focus,
.std-btn-subscribe:visited,
.std-btn-subscribe:active {
background: #A00000 !important;
color: #fff !important;
transform: translateY(-1px);
box-shadow: 0 6px 22px rgba(204, 0, 0, 0.4);
text-decoration: none !important;
border-bottom: none !important;
outline: none;
}

.std-btn-subscribe:active {
transform: translateY(0);
}

.std-btn-arrow {
display: inline-block;
font-size: 1rem;
line-height: 1;
transition: transform 0.18s ease;
}

.std-btn-subscribe:hover .std-btn-arrow {
transform: translateX(3px);
}

.std-dismiss {
font-size: 0.75rem;
color: #999;
background: none;
border: none;
border-bottom: 1px dashed #ccc;
padding: 0 0 1px;
cursor: pointer;
font-family: Georgia, serif;
letter-spacing: 0.03em;
transition: color 0.2s;
}

.std-dismiss:hover {
color: #333;
border-bottom-color: #333;
}

/* Payment logos */
.std-payment-row {
display: flex;
align-items: center;
gap: 0.45rem;
flex-wrap: wrap;
padding-top: 1rem;
border-top: 1px solid #e0d9d0;
margin-bottom: 0.7rem;
}

.std-pay-label {
font-size: 0.6rem;
color: #aaa;
letter-spacing: 0.14em;
text-transform: uppercase;
font-family: Arial, sans-serif;
margin-right: 0.2rem;
white-space: nowrap;
}

.std-pay-badge {
display: inline-flex;
align-items: center;
justify-content: center;
height: 24px;
padding: 0 0.5rem;
border-radius: 3px;
border: 1px solid #e0d7ce;
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* M-Pesa */
.std-mpesa-text {
font-family: Arial, sans-serif;
font-size: 0.7rem;
font-weight: 900;
}

.std-mpesa-m {
color: #39b74a;
}

.std-mpesa-dash {
color: #db3939;
}

.std-mpesa-p {
color: #39b74a;
}

/* Visa */
.std-visa-text {
font-family: ‘Times New Roman’, Times, serif;
font-size: 0.82rem;
font-weight: 900;
font-style: italic;
color: #1a1f71;
letter-spacing: -0.03em;
}

/* Mastercard */
.std-mc-wrap {
position: relative;
width: 28px;
height: 16px;
}

.std-mc-left {
width: 16px;
height: 16px;
border-radius: 50%;
background: #eb001b;
position: absolute;
left: 0;
top: 0;
}

.std-mc-right {
width: 16px;
height: 16px;
border-radius: 50%;
background: #f79e1b;
position: absolute;
right: 0;
top: 0;
mix-blend-mode: multiply;
}

/* Airtel Money */
.std-airtel-text {
font-family: Arial, sans-serif;
font-size: 0.64rem;
font-weight: 800;
}

.std-airtel-a {
color: #ec2427;
;
}

.std-airtel-m {
color: #dd3436;
font-weight: 600;
}

/* Equitel */
.std-equitel-text {
font-family: Arial, sans-serif;
font-size: 0.6rem;
font-weight: 700;
color: #003087;
letter-spacing: 0.02em;
}

.std-equitel-eq {
color: #e2001a;
}

/* Trust strip */
.std-trust-strip {
display: flex;
align-items: center;
gap: 0.45rem;
flex-wrap: wrap;
}

.std-trust-strip .std-shield {
width: 11px;
height: 11px;
fill: #C9A84C;
flex-shrink: 0;
}

.std-trust-strip span {
font-size: 0.67rem;
color: #aaa;
letter-spacing: 0.03em;
font-family: Arial, sans-serif;
}

.std-trust-strip .std-dot {
width: 3px;
height: 3px;
border-radius: 50%;
background: #ccc;
flex-shrink: 0;
}

/* Bottom rule */
.std-bottom-rule {
height: 2px;
background: linear-gradient(to right, #C9A84C, #CC0000, #0D0D0D);
}

/* Entrance animation */
@keyframes stdSlideUp {
from {
opacity: 0;
transform: translateY(20px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.std-banner-wrap {
animation: stdSlideUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}



Support Independent Journalism

Stand With Bold Journalism.
Stand With The Standard.

Journalism can’t be free because the truth demands investment.
At The Standard, we invest time, courage and skills to bring you accurate,
factual and impactful stories. Subscribe today and stand with us in the
pursuit of credible journalism.

Continue

Pay via

Secure Payment

Kenya’s most trusted newsroom since 1902

Follow The Standard on

Thousands of commuters across the country were stranded Monday after matatu operators made good on their threat to paralyse public transport services in protest against soaring fuel prices.

The strike, which disrupted movement in major towns and highways, saw most matatus keep off the roads as transport sector players intensified pressure on the government to lower fuel costs.

Apart from matatus, ride-hailing services, boda boda operators, trucks and other cargo transport companies also stayed off the roads as the industrial action gained momentum.

8:46 am:
Protestors block the Nyahururu -Nairobi highway at Madaraka area in Nyandarua County following an increase in fuel prices. 
8:42 am:
Transport activities in the Machakos town center at a complete standstill, with some residents stranded at the Machakos bus station.

8:39 am:
Heavy police presence at Kayole Junction along Kangundo Road.

8:34 am:
Several shops in Nairobi’s City Walk Way remain closed.
8:26 am:
Minimal activities along Moi Avenue, Nairobi

8:22 am:
Youths block roads at various points in Rongai town, bringing traffic to a standstill 
8:18 am:
Bonfire and road blocks reported at Roysambu, Thika Road.

8:17 am:
The Nanyuki main stage remains deserted as all the sacco withdrew their vehicles. 

8:07 am:
No matatus reported in Kakamega town.
7:58 am:
A protest erupted in Kitengela town, with the main road barricaded.

7:54 am:
No matatu spotted at the bust Kibarani stage in Mombasa County.
Stay informed. Subscribe to our newsletter
7:48 am:
Various motorists turned away at the Kangemi flyover stage.
7:34 am:
Limuru bus terminus that boasts over 1000 matatus is deserted. No PSVs on site.

7:34 am:
Uhuru Highway, Nairobi clear with few Public Service Vehicles on the road.

7:32 am:
No matatus operating along the Kenol–Thika Highway.

7:27 am:
Commuters stranded at the General Motors terminus.

7:13 am:
Minimal movement of vehicles at the ever busy Saba Saba intersection in Mombasa.

6:40 am:
The busy Murang’a PSV stage is disserted except for few boda boda riders.

More to follow…

.std-banner-wrap {
max-width: 100%;
width: 100%;
position: relative;
margin: 2.5rem 0 2rem;
font-family: Georgia, ‘Times New Roman’, serif;
}

.std-top-rule {
display: flex;
height: 4px;
}

.std-top-rule .r1 {
background: #CC0000;
flex: 3;
}

.std-top-rule .r2 {
background: #C9A84C;
flex: 1;
}

.std-top-rule .r3 {
background: #0D0D0D;
flex: 6;
}

.std-banner {
background: #F9F5F0;
padding: 2rem 2.2rem 1.8rem;
position: relative;
overflow: hidden;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10), 0 1px 0 #C9A84C;
border-left: 4px solid #CC0000;
}

.std-banner::before {
content: ‘S’;
position: absolute;
right: -1rem;
top: -2rem;
font-family: Georgia, serif;
font-size: 14rem;
font-weight: 900;
color: rgba(204, 0, 0, 0.04);
line-height: 1;
pointer-events: none;
user-select: none;
}

.std-eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.62rem;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #CC0000;
margin-bottom: 0.85rem;
font-family: Arial, sans-serif;
}

.std-eyebrow::before {
content: ”;
display: block;
width: 18px;
height: 1.5px;
background: #CC0000;
}

.std-banner-title {
font-family: Georgia, ‘Times New Roman’, serif;
font-size: clamp(1.3rem, 3.5vw, 1.75rem);
font-weight: 900;
color: #0D0D0D;
line-height: 1.2;
margin: 0 0 0.75rem;
letter-spacing: -0.02em;
}

.std-banner-title .std-hl {
color: #CC0000;
font-style: italic;
}

.std-divider {
display: flex;
align-items: center;
gap: 0.6rem;
margin-bottom: 0.9rem;
}

.std-divider::before,
.std-divider::after {
content: ”;
flex: 1;
height: 1px;
background: #d8d0c6;
}

.std-divider-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: #CC0000;
flex-shrink: 0;
}

.std-banner-body {
font-size: 0.97rem;
line-height: 1.7;
color: #2C2C2C;
font-weight: 400;
margin: 0 0 1.4rem;
font-family: Georgia, serif;
}

.std-banner-body strong {
font-weight: 700;
color: #0D0D0D;
}

.std-cta-row {
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
margin-bottom: 1.2rem;
}

.std-btn-subscribe {
display: inline-flex;
align-items: center;
gap: 0.6rem;
background: #CC0000;
color: #fff !important;
font-family: Arial, sans-serif;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
padding: 0.72rem 1.5rem 0.72rem 1.3rem;
border: none;
cursor: pointer;
text-decoration: none !important;
border-bottom: none !important;
position: relative;
overflow: hidden;
transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
box-shadow: 0 4px 16px rgba(204, 0, 0, 0.3);
clip-path: polygon(0 0, calc(100% – 10px) 0, 100% 50%, calc(100% – 10px) 100%, 0 100%);
padding-right: 1.8rem;
}

.std-btn-subscribe:hover,
.std-btn-subscribe:focus,
.std-btn-subscribe:visited,
.std-btn-subscribe:active {
background: #A00000 !important;
color: #fff !important;
transform: translateY(-1px);
box-shadow: 0 6px 22px rgba(204, 0, 0, 0.4);
text-decoration: none !important;
border-bottom: none !important;
outline: none;
}

.std-btn-subscribe:active {
transform: translateY(0);
}

.std-btn-arrow {
display: inline-block;
font-size: 1rem;
line-height: 1;
transition: transform 0.18s ease;
}

.std-btn-subscribe:hover .std-btn-arrow {
transform: translateX(3px);
}

.std-dismiss {
font-size: 0.75rem;
color: #999;
background: none;
border: none;
border-bottom: 1px dashed #ccc;
padding: 0 0 1px;
cursor: pointer;
font-family: Georgia, serif;
letter-spacing: 0.03em;
transition: color 0.2s;
}

.std-dismiss:hover {
color: #333;
border-bottom-color: #333;
}

/* Payment logos */
.std-payment-row {
display: flex;
align-items: center;
gap: 0.45rem;
flex-wrap: wrap;
padding-top: 1rem;
border-top: 1px solid #e0d9d0;
margin-bottom: 0.7rem;
}

.std-pay-label {
font-size: 0.6rem;
color: #aaa;
letter-spacing: 0.14em;
text-transform: uppercase;
font-family: Arial, sans-serif;
margin-right: 0.2rem;
white-space: nowrap;
}

.std-pay-badge {
display: inline-flex;
align-items: center;
justify-content: center;
height: 24px;
padding: 0 0.5rem;
border-radius: 3px;
border: 1px solid #e0d7ce;
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* M-Pesa */
.std-mpesa-text {
font-family: Arial, sans-serif;
font-size: 0.7rem;
font-weight: 900;
}

.std-mpesa-m {
color: #39b74a;
}

.std-mpesa-dash {
color: #db3939;
}

.std-mpesa-p {
color: #39b74a;
}

/* Visa */
.std-visa-text {
font-family: ‘Times New Roman’, Times, serif;
font-size: 0.82rem;
font-weight: 900;
font-style: italic;
color: #1a1f71;
letter-spacing: -0.03em;
}

/* Mastercard */
.std-mc-wrap {
position: relative;
width: 28px;
height: 16px;
}

.std-mc-left {
width: 16px;
height: 16px;
border-radius: 50%;
background: #eb001b;
position: absolute;
left: 0;
top: 0;
}

.std-mc-right {
width: 16px;
height: 16px;
border-radius: 50%;
background: #f79e1b;
position: absolute;
right: 0;
top: 0;
mix-blend-mode: multiply;
}

/* Airtel Money */
.std-airtel-text {
font-family: Arial, sans-serif;
font-size: 0.64rem;
font-weight: 800;
}

.std-airtel-a {
color: #ec2427;
;
}

.std-airtel-m {
color: #dd3436;
font-weight: 600;
}

/* Equitel */
.std-equitel-text {
font-family: Arial, sans-serif;
font-size: 0.6rem;
font-weight: 700;
color: #003087;
letter-spacing: 0.02em;
}

.std-equitel-eq {
color: #e2001a;
}

/* Trust strip */
.std-trust-strip {
display: flex;
align-items: center;
gap: 0.45rem;
flex-wrap: wrap;
}

.std-trust-strip .std-shield {
width: 11px;
height: 11px;
fill: #C9A84C;
flex-shrink: 0;
}

.std-trust-strip span {
font-size: 0.67rem;
color: #aaa;
letter-spacing: 0.03em;
font-family: Arial, sans-serif;
}

.std-trust-strip .std-dot {
width: 3px;
height: 3px;
border-radius: 50%;
background: #ccc;
flex-shrink: 0;
}

/* Bottom rule */
.std-bottom-rule {
height: 2px;
background: linear-gradient(to right, #C9A84C, #CC0000, #0D0D0D);
}

/* Entrance animation */
@keyframes stdSlideUp {
from {
opacity: 0;
transform: translateY(20px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.std-banner-wrap {
animation: stdSlideUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

Published Date: 2026-05-18 08:59:55
Author:
By Mate Tongola
Source: The Standard
Leave A Reply

Exit mobile version