Fernandez doubled Celta's advantage midway through the half after taking the ball from Charles and coolly slotting the ball into the left corner.
Malaga tried to find a response and came close when Roberto Chen headed narrowly wide from a corner 10 minutes before the break.
However, the visitors put the result beyond doubt just after the hour mark when Lopez's header from close range beat Caballero.
Nolito added a fourth when his effort from left-hand side of the box found the top corner.
Charles completed the rout when he connected with David Rodriguez corner and netted from close range.
The result means Celta are now level on points with Malaga in the bottom half of La Liga table, albeit with an superior goal difference.