Uttar Pradesh, who were struggling at 163 for 7 yesterday, posted 283 in their first innings, thanks largely to Kaif's 247-ball 122 and useful cameos down the order.
Bhuvneshwar Kumar then played the wrecker-in-chief for the hosts, grabbing five wickets as Karnataka folded for 181 in 54.4 overs to hand the initiative to UP.
At stumps, UP were 55 for three that gave the team handy 157—run lead with seven wickets in hand.
On an eventful day, wickets fell in heap. For Karnataka, H S Sharath and K P Appanna were the pick of the bowlers.
While Sharath grabbed a fifer, Appanna picked up three wickets but not before UP had recovered from the opening day blues to post a competitive total on the board.
The visiting line—up, save for the half centuries by Manish Pandey (54) and Amit Verma (52), crumbled in the face of a disciplined effort by the UP bowlers.
Bhuvneshwar's five wickets cost just 36 runs in 17.4 overs, seven of which were maidens.
Imtiaz Ahmed also chipped in with three scalps. Ahmed gave away 53 runs in 12 overs.
At stumps, Kaif (18) and skipper Suresh Raina (8) were at the crease for UP.
Karnataka 1st Innings: 181 all out
Uttar Pradesh: 283 and 55/3 in 22 overs (M Kaif 18 batting).