Chasing a small target of 113 to win in the second innings, Services were rocked by UP pacer Ankit Rajpoot's fiery spell (5/36) to be reduced 54 for five before skipper Soumik Chatterjee and Rajat Paliwal came to the Armymen's rescue to pocket the five-day match well inside three days.
Services managed to chase the remaining target without further hiccups, courtesy first-innings centurian Rajat Paliwal's unbeaten 32 and injured Chatterjee unconquered 34.
Not before young UP pacer Rajpoot, after bagging a five-for in the first innings, created flutter in the opposition camp as Services slumped from 29 for no loss to 54 for five. He removed Services' top-order to bring UP back into the game.
The 19-year-old, however, could not prevent Paliwal and Chatterjee, unable to walk with a badly injured left knee, from driving Services home and book a semi-final berth.
The injured skipper finished the run-chase in style with a huge six over mid-on off spinner Ali Murtaza. The duo shared an unbeaten partnership of 62 runs for the sixth wicket to ensure the memorable victory for Services.
Earlier, resuming day on 138 for four, UP were bowled out for 241 in 78 overs.
Overnight batsmen Arish Alam and Eklavya Dwivedi added 40 runs before being dismissed. Right-handed Alam (50), however, completed his half-century before getting run out.
UP paceman Imtiaz Ahmed played an aggressive cameo of 40 runs off just 37 deliveries during which he hit two boundaries and four sixes.
However, wickets continued to tumble at the other end for UP as their innings folded for 241 runs, giving their bowlers a paltry 112 runs to defend.
For Services, right-arm pacer Suraj Yadav accounted for seven UP batsmen and ended the match with career-best match figures of 9/106.
Brief Scores: UP 134 & 241 (Tanmay Srivastava 55, Arish Alam 50; Suraj Yadav 7/71) lost to Services 263 & 116/5 (Soumik Chatterjee 34 not out, Rajat Paliwal 32 not out; Ankit Rajpoot 5/36).