© Getty Images
The visitors were on the attack early on with Alberto Aquilani trying to strike on the rebound from a corner clearance, but his finish was blocked, while Carlos Tevez was denied down the other end a few minutes later.
Pirlo made amends down the other end just three minutes later, though, as he delivered a curling free kick to the head of Llorente, leaving the striker with an easy header to level the scores.
The home side were on the attack again in first-half injury time, resulting in Patrice Evra chipping the ball into the box for Tevez, who outjumped those around him to nod into the bottom corner.
Rodriguez could have drawn the visitors level again in the second half as Giorgio Chiellini went in late for a tackle in the box, leaving the scorer of the opening goal lining up his second penalty of the match.
However, his spot kick lacked the accuracy of his first-half attempt, finishing wide of the right post, despite Gianluigi Buffon having been sent the wrong way.
The miss proved costly as the home side moved two goals clear just three minutes later when Tevez picked the ball up from a cross on the edge of the box, drilling it into the bottom of the net with a first-time strike.
The visitors gave themselves some hope heading into stoppage time as Josip Ilicic found the back of the net with a long-range free kick after Tevez had given away the set piece with a late foul.
Fiorentina could not complete the comeback though, leaving the defending Italian champions needing just a point from their remaining five matches to retain the title, while Fiorentina drop to seventh in the table.