Chasing a target of 333, UP were bundled out for 240 in 65.3 overs.
Batting first, Karnataka had scored 349 all out in the first innings with centuries from Robin Uthappa, Karun Nair and Chidambaram Gautam. In reply, UP declared their first innings at 221 for nine and their bowlers came back strongly to skittle Karnataka all out for 204 in their second innings.
With the match evenly poised at the resumption of the fourth day today, Karnataka bowlers wrested the initiative from the visitors as they used the early morning conditions to their advantage, picking up five wickets to put UP almost out of contention.
The 20-year-old Gopal, however, had the last laugh as he sent home the first innings half-centurion Chawla, caught by Karun Nair, shattering UP's hopes.
Gopal scalped five wickets for 59 in the second innings, unlike in the first innings, where he went wicket-less after conceding 30 runs.