The Reds had already qualified as Group B winners with two matches to spare, so teenager Tyler Morton made his Champions League debut as Jurgen Klopp rung the changes.
Liverpool maintained its perfect record in Europe this season despite being without key men, Thiago scoring his first goal of the season in style with a magnificent second-half finish.
Mohamed Salah added a second as Porto were made to pay for missed opportunities, leaving them facing a decisive final group match against Atletico Madrid in the battle for a place in the round of 16 along with Liverpool.
Porto should have had an early lead when Otavio somehow failed to hit the target with the goal gaping after Luis Diaz showed great pace to burst away and unselfishly set him up.
The Primeira Liga leader had a let-off when goalkeeper Diogo Costa's poor attempted clearance struck Sadio Mane on the head and fell nicely for Salah, but the prolific forward could not apply the finish.
Porto lost captain Pepe to an injury before Mane had a goal disallowed for offside in a first half that saw Sergio Conceicao's side pose a threat without having a cutting edge.
Mateus Uribe almost capitalised on slack Reds defending when he spun sharply in the penalty area and drilled a right-foot shot narrowly wide as Porto continued to probe after the break.
Thiago made Porto pay for its profligacy seven minutes into second half, firing into the bottom-right corner from 25 yards out with a stunning first-time drive after Porto failed to clear an Alex Oxlade-Chamberlain free-kick.
Takumi Minamino had a goal ruled out for offside, but Salah doubled Liverpool's lead when he took a pass from Jordan Henderson and surged inside before finding the bottom-right corner with his left foot to take his tally for the season to 17.