The former Inter youngster put in a man of the match performance to help his side move to within five points of leaders Juventus
The striker gave the visitors the lead on 32 minutes, before netting his second and third goals after the break to put the match to bed, with Mauricio Pinilla scoring a late consolation for the hosts from the spot.
The two sides struggled to create any noteworthy chances in the opening stages of the match and it wasn't until the 30th minute that Roma threatened. Maicon caused his opponent all kinds of trouble with his run down the right, but Vlada Avramov collected his cross before Destro could get to it.
The Italy international was not to be denied for a second time, however, and opened the scoring two minutes later after some good work from Gervinho. The former Arsenal man set up the Italy international after a superb dribble and Destro had no trouble slotting home from close range.
Cagliari felt they should have been awarded a penalty shortly after when Leandro Castan allegedly handled the ball inside his own area, but the referee wanted none of it and waved play on.
Davide Astori nearly restored parity in the closing minutes of the first half from a corner kick, but the defender failed to find the net from inside the area.
The Giallorossi started the second half with attacking intent and doubled their lead within 10 minutes. Radja Nainggolan found Destro with an intelligent through ball and the striker kept his calm to make it two for Roma.
Rudi Garcia's men continued to dominate proceedings and Destro poured even more salt in Cagliari's wounds in the 73rd minute. Gervinho found Alessandro Florenzi down the left, who sent in a low cross for Destro and the striker beat his marker to the ball with a quick reaction to get his hat-trick.
Cagliari pulled one back in the dying minutes of the game when Pinilla converted a spot kick after Mehdi Benatia had fouled the Chilean attacker, but it was too little too late for the hosts.