The Edinburgh side had kept four clean sheets in their previous five outings, but that record was brought to an abrupt halt as Rangers put four goals past Steve Banks on their way to a comprehensive victory.
Rangers started at a furious pace and Hearts had goalkeeper Banks to thank for keeping them on level terms early on.
The visitors were applying virtually constant pressure, particularly from set-pieces, and Steven Naismith would have scored from a corner on 13 minutes had it not been for a fingertip save from Banks who pushed the ball over the crossbar.
Seconds later it was defender Robbie Neilson's diving clearance that kept the visitors out.
But the league leaders made the breakthrough on 25 minutes through Jean-Claude Darcheville. Ruben Palazuelos was caught dwelling on the ball and it was Rangers captain Barry Ferguson who played a perfect pass up to Frenchman Darcheville who beat the offside trap before firing home.
And he scored his tenth of the season minutes short of half-time as Rangers kept up the pressure. Carlos Cuellar picked up the ball at the post, knocked it down to Naismith who couldn't control it, but it fell to Darcheville who had the simple task of knocking it in from three yards out.
Hearts looked lost without leading scorer Andrius Velicka, who departed for Norway this week, and main playmaker Michael Stewart and were jeered off the pitch by their fans at the interval.
Rangers boss Walter Smith opted to make a change at half-time, replacing Darchevile with Nacho Novo. And it was Novo who took up where Darcheville had left off giving Rangers a 3-0 lead eight minutes into the second half.
Ferguson was instrumental again, breaking up the pitch before finding Charlie Adam who crossed into the box for Novo.
Despite their unassailable lead Rangers did not let up the pressure on beleaguered Hearts and Novo scored his second on 70 minutes, linking up well with Adam again before knocking the ball in from close range to end a miserable night for the home side.