Goals from Martin Terrier and captain Nabil Fekir were enough for Lyon to move three points behind second-place Lille and six ahead of Saint-Etienne.
Terrier, who had earlier had a goal ruled out for offside, scored with a fine finish on the rebound after Houssem Aouar tried his luck from distance in the 15th minute.
Guingamp defender Felix Eboa Eboa equalizer minutes later, but Fekir restored the home side's lead in the 35th by controlling the ball on his chest and curling a shot inside the far post.
Aouar went close late on, before Lyon substitute Memphis Depay fired the ball across the face of goal.
Guingamp substitute Nolan Roux then saw his header crash off the crossbar in injury time.
Guingamp remains in last place, six points from safety.
Dijon, which holds the last place before the relegation zone for now, lost 2-0 earlier at Nimes, finishing the game with 10 players after Oussama Haddadi was sent off late with his second yellow card.
Lyon hosts Barcelona in their round of 16 first leg on Tuesday.