Lopez grabbed the winner for the champions with a far-post header after 56 minutes following a cross from the left by Slovakian defender Marek Cech.
Porto are top with 12 points followed by previously unbeaten Maritimo on nine and Benfica, who beat Naval 3-0, with eight.
Porto, the only team with a 100 percent record, host Liverpool on Tuesday in their opening Champions League game.
Benfica playmaker Rui Costa put on a spectacular performance including a goal
Uruguay midfielder Cristian Rodriguez scored his first goal for the club with an unstoppable shot from outside the area after 23 minutes.
The Lisbon side doubled their lead after 36 minutes when Rui Costa half-volleyed a cross from the right by defender Luis Filipe that flew into the net.
Striker Nuno Gomes completed the rout with a close range header after 52 minutes.
Sporting, who start their Champions League campaign at home to Manchester United on Wednesday, are fifth on six points but with their weekend game to come at Estrela Amadora on Sunday.