By stumps on the second day, the hosts declared their first innings at a formidable 719 for five in their Group A Ranji match at the M Chinnaswamy Stadium.
The 22-year-old Rahul showed tremendous character and discipline to make 337, spending 11 hours at the crease. He was finally caught by Mukul Dagar off left-arm spinner Ali Murtaza.
Rahul scored the bulk of his runs against the spinners and, even as the visiting pacers bowled in the right areas initially, the prolific batsman never went into a shell.
"Early on, the pacers were bowling in good areas and it was difficult to score off them, but the wicket was easy to bat on and except in post-lunch session the wicket was two-paced and cracks opened up," Rahul told reporters after the day's play.
More From This Section
"The century which I got in Australia really helped me to gather confidence and carry it forward in the domestic season. Yeah, that really helped me - that makes me happy," Rahul said.
Rahul's innings, which was studded with 47 boundaries and four sixes, came off 448 balls. After Rahul went past Barrington Rolland's 283, he became the first Karnataka batsman to score a triple hundred in domestic cricket.
Rahul also became the highest scorer ever against Uttar Pradesh in first-class match after he went past 327 runs scored by Kedar Jadhav of Maharashtra.