Elsewhere, Danny Cipriani returned to haunt Wasps and Leicester Tigers beat Northampton Saints at Twickenham.
Sarries' 100 per cent Premiership record was under threat at The Stoop, but they made it six wins out of six to go level on points with Exeter Chiefs.
Danny Care marked his 250th Quins appearance with an intercept try that gave the home side a 13-9 half-time lead, Owen Farrell booting three penalties for the visitors and Marcus Smith scoring eight points from the tee for the home side.
Another Farrell penalty made it a one-point game, but it looked like it might be Quins' night when Smith's shot at goal held up in the wind and the alert Joe Marchant rose to grab the ball as it blew backwards before touching down for a bizarre try.
The defending champions fought back to deny their rivals, though, Vunipola levelling after Alex Lozowski picked him out with an inviting pass and Farrell taking his tally to 20 points with the boot in a pulsating contest.
Cipriani celebrated being named Premiership player of the month with an influential display on his return to Ricoh Arena, kicking 15 points in Gloucester's 35-21 triumph over his former club.
Charlie Sharples grabbed a brace as third-placed Wasps' winning run came to a halt despite tries from Dan Robson, Elliot Daly and Juan de Jongh.
Leicester scored 17 first-half points without reply in a 23-15 win over Northampton, Jonny May suffering a shoulder injury in a derby watched by a crowd of over 40,000 who paid tribute to former Australia centre Rob Horne.
Horne was given a rousing reception when he brought out the match ball six months after suffering an injury in the same fixture, which left him with severe nerve damage and paralysis in his right arm.
Sale Sharks secured only its second win of the season, beating bottom side Newcastle Falcons 20-7.