The Colombian, who had only scored one league goal this season before Sunday afternoon, struck once before the break and twice after it to earn the hosts a deserved win.
Maxi Lopez pulled one back with a stoppage-time penalty after Luca Rossettini had been sent off, but the Sardinians were already long since home and dry.
The visitors had the first effort, but Citadin Eder fired over from 25 yards.
And it was Cagliari who went in front after 18 minutes as Ibarbo followed up to tap home after goalkeeper Sergio Romero had done brilliantly to keep out Albin Ekdal's close-range attempt.
Eder set up Andrea Poli to fire over as Samp looked for a leveller, but Ibarbo continued to look lively and almost had a second just before the break when his left-footed shot shaved a post.
Ibarbo was taking on Samp almost on his own and early in the second half he dribbled past two defenders only to shot over when through on goal.
Romero then produced another fine save to keep out Ekdal's diving header, but he was beaten again in the 52nd minute.
Ibarbo drilled home his second of the game from inside the area following a corner.
And the 22-year-old completed his treble 20 minutes later, heading home an Andrea Cossu cross.
There was no way back for Samp now, but they almost grabbed a consolation only for substitute keeper Vlada Avramov, who replaced Michael Agazzi at half-time, to deny Eder.
And they did get one back when they were awarded a penalty in stoppage time.
Rossettini was shown a red card for a foul Eder and Lopez stepped up to fire the penalty into the bottom corner.