J&K could take just 18-run first innings lead.
But before close of play, J&K hit back again to reduce the 40-time champions to a miserable 66 for four in the second innings, ahead by only 48 runs with two days left.
Medium pacers Ram Dayal, who picked up three wickets in the first innings with his disciplined bowling, bagged two more in the second, while fellow-seam bowler Umar Nazir claimed the other two Mumbai wickets.
In the morning Khajuria, who began the day on 47 with teammate Bandeep Singh (34) in an overnight team score of 88 for one in reply to Mumbai's paltry 236, saw his partner depart in the fourth over.
More From This Section
But Khajuria continued his good work to reach his century with a six over long on off Vishal Dabholkar.
He was run out for a well-made 107 off 215 balls after a six-hour vigil during which he struck four sixes and 12 fours.
The visitors, sitting pretty at 203 for two soon after lunch when Khajuria was run out by a direct hit at the striker's end stumps, folded up at the stroke of tea with their last five wickets polished off by Mumbai's left arm spinners Dabholkar (3/30) and Iqbal Abdullah (2/47).
Dabholkar took three wickets for one run in nine balls. He also took the wicket of second-best scorer Ian Chauhan (70), who along with Khajuria add 98 for the third wicket.
Brief scores:
Mumbai: 236 & 66 for 4 (Ram Dayal 2/31, Umar Nazir 2/8).
J&K: 254 all out (Shubham Khajuria 107, Ian Chauhan 70; Vishal Dabholkar 3/30, Dhawal Kulkarni 2/47, Iqbal Abdullah 2/47).