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
15 'peach' perfect photos of Priyanka Chopra at People's Choice Awards 2017
Photos: Salman Khan returns from Jodhpur to Mumbai
Photos: 10 times 'Sultan' Salman Khan wrestled with the law
62 going on 16: These photos of Rekha prove she is 'forever young'
Photos: Parineeti Chopra's night out with friends in Bandra