The Sardinians went into the clash lying 17th in the table, with just one win to their name this season.
However, they took the lead just after the half-hour mark through Marco Sau.
Danilo Avelar doubled his side's advantage with a well-taken free kick on on 37 minutes.
On the stroke of half time, Ekdal added a fourth when he converted Sau's pass from close range.
Andrea Cossu went close to adding a fifth ten minutes after the restart and Víctor Ibarbo also threatened 15 minutes from time as Cagliari ran out the clock to seal the win.