The Spaniard struck just before half-time after Jesse Lingard had been fouled to end Brighton’s six-hour wait for a goal away from home.
Jermaine Easter came closest for Millwall when he hit the bar after the break, but the Lions failed to severely test Tomasz Kuszczak, and they remain in deep relegation trouble following the defeat.
Millwall’s Ed Upson almost caught out Kuszczak on four minutes when he looked likely to curl a free-kick towards the far post, but instead drove the set piece onto the roof of the nearby upright.
On eight minutes Martyn Woolford sent a free-kick, from a central position, on the edge of the box straight into Kuszczak’s arms.
At the other end Leonardo Ulloa saw an attempted over-head kick go straight up into the air, and then Dale Stephens dragged a 30-yard drive harmlessly wide on 11 minutes.
On 16 minutes right-back Bruno Saltor reached the byline, but Albion’s top scorer, Ulloa, misjudged his header at the far post.
Danny Shittu nodded a dangerous Andrea Orlandi cross to safety two minutes later, and David Forde then had the simple task of catching the Spaniard’s second effort.
Upson broke away from Stephens on 35 minutes, but his strike lacked the sufficient power to cause Kuszczak any trouble.
Seven minutes before the break Brighton debutant Lingard was floored inside the box by Shittu, and referee Geoff Eltringham pointed to the spot.
There seemed to be minimal contact, but Lopez dispatched the resultant kick, firing to Forde’s right as the keeper dived the other way.
On the stroke of half-time the visitors should have doubled their lead when Ulloa got in down the right and crossed for Lingard, but Ryan Fredericks did brilliantly to deny the Manchester United loanee.
Shittu almost levelled the tie 35 seconds into the second period, but his header went straight at Kuszczak.
Lopez then flashed a low cross just too far ahead of Orlandi for Brighton, and Martyn Woolford shot well wide for the Lions.
Jermaine Easter should have levelled for Millwall on 52 minutes when he picked up Fredericks’ cross six yards from goal, but he crashed his effort against the crossbar.
On 66 minutes substitute Scott McDonald wriggled away from a couple of Brighton challenges, but his tame strike was easy for Kuszczak to deal with.
And 15 minutes from time the Australian well teed up by Shaun Williams but he skewed his shot horribly wide.
As the clock struck 90 home debutant Owen Garvan whizzed a 30-yard strike just over the bar, but the Lions could not find the leveller and slumped to another defeat.