Asked to bat first, Karnataka struggled against the leash as Mumbai bowlers not only kept a lid on the run flow, but also took wickets at regular intervals and it was left to Rahul to hold the innings together with a gritty unbeaten century.
Rahul and Stuart Binny (38) added crucial 82 runs for the fifth wicket as Karnataka recovered from 84 for four to end the day with a modest score.
For Mumbai, seamer Shardul Thakur and left-arm spinner Vishal Dabholkar took two wickets apiece as the visitors justified their decision to field first on winning the toss.
Brief scores: Karnataka 228-7 (Lokesh Rahul 120; Shardul Thakur 2-49) vs Mumbai
Live on TV
Karnataka vs Mumbai, Day 2 on Star Sports 2 & Star Sports 2, 09:30