Tavernier was restored to the starting line-up after two outings as a replacement and the Rangers skipper played a key role in the solitary goal, breathing down the neck of Holt inside the six-yard box.
The full-back also had a free-kick pushed away by Josh Rae and set up Nedim Bajrami in the first half only for the Albanian to mishit in front of goal.
Like many of his team-mates, Hagi had a subdued opening 45 minutes but sparked into life with a fierce strike over the top early second half.
Thereafter, he was a lively presence, prompting, probing and pressing well, while Rae fumbled another shot from the Romanian, which trickled just wide.
Rae was kept busy by Danilo, making three stops from the Brazilian, who really should have tucked away his last chance as several players appeared to stop in anticipation of the referee's whistle.
So impressive in the midweek win away to Nice in the Europa League, Rangers were slow to start.
Hamza Igamane retained his place after his two goals and an assist in the south of France. The Moroccan forward had a low strike beaten away by Rae, who also saved from Nedim Bajrami in a first half low on thrills.
Along with Danilo, half-time introductions Leon Balogun and Ridvan Yilmaz made good impressions, with the withdrawn Robin Propper continuing to look uncomfortable at the back.