The hosts bossed the first half but were made to wait until stoppage time to break the deadlock, their opener coming when Jorge fired into the bottom corner from the edge of the box.
Metz's hopes of mounting a fightback were dented in the 50th minute when goalkeeper Eiji Kawashima was shown a straight red card for rushing off his line and fouling Adama Diakhaby in a one-on-one situation.
Monaco took full advantage of their extra man and doubled their lead in the 67th minute through Ghezzal, who beat substitute goalkeeper Quentin Beunardeau with a curling effort from the right side of the penalty area.
Metz responded well and handed themselves a lifeline when youngster Niane headed Farid Boulaya's corner into the roof of the net, but an equaliser proved a bridge too far for the 10-man visitors.
Monaco made the points safe with nine minutes remaining as Lopes turned in Brazilian midfielder Fabinho's low cross from close range to make it 3-1.
The win sees Jardim's men move within two points of Lyon in second, while Metz are five points adrift at the foot of the table, and seven away from the nearest position of safety.
MONACO (4-3-3): Subasic, Jorge (N'Doram '49), Raggi, Glik, Sidibe, Lemar, Fabinho, Moutinho, Diakhaby (Lopes '55), Falcao, Ghezzal (Tielemans '81)
METZ (5-4-1): Kawashima, Niakhate, Diagne, Selimovic, Palmieri, Rivierez (Beunardeau '52), Roux, Cohade, Poblete, Dossevi (Niane '12), Riviere (Boulaya '72)