Islam Slimani,
who had a prolific scoring record against Porto with his former club
Sporting Lisbon, headed the only goal from a Riyad Mahrez cross.
Porto substitute Jesus Corona hit the post, but the Foxes held on.
Leicester lead Group F by two points from second-placed FC Copenhagen, who they meet on 18 October.
Slimani slays the Dragons again
Slimani, tormented Porto so much during his time with Sporting that he earned the nickname "the Dragon Slayer".
In three previous matches in 2016 alone, the Algeria international had netted five times.
Here,
he met the teasing, curling cross of the excellent Mahrez, diving
towards the ball at the back post to head past a reluctant Iker
Casillas.
It is his third goal in four games for the Foxes, all of which have been scored with his head.
Leicester, last season's surprise Premier League champions, have made
an uncertain start to the defence of their title, losing three of their
opening six games and conceding four goals in defeats by both Liverpool
and Manchester United.
Yet the template that brought success last
season - a deep, solid backline and pacey counter-attacks - was once
again employed with success at a raucous King Power Stadium.
After
seeing his side leak three goals to corners at Old Trafford on
Saturday, Leicester boss Claudio Ranieri preferred Luis Hernandez to
Danny Simpson at right-back, but it was centre-halves Wes Morgan and
Robert Huth who impressed.
At the other end, Mahrez caused trouble
on the right in the first half, Vardy explored the channels and Slimani
barely stopped running.
For two-time European champions Porto, a domination of the second
half - they had eight attempts on goal to Leicester's three - only
brought serious pressure in the dying moments.
Indeed, until a
frantic, backs-to-the-wall final 10 minutes, a low save from Hector
Herrera's long-range effort was the biggest test of the returning Kasper
Schmeichel in the Leicester goal.
But, as Porto pressed, the
Foxes were pushed deeper and goalmouth confusion became commonplace,
with Corona's back-post effort deflecting off Marc Albrighton and on to
the woodwork.
As the tension increased, a flurry of late corners
was not enough for Porto to improve a dismal record in England that
extends to 17 games without a win.
What they said
Leicester boss Claudio Ranieri: "We suffered in the last 10 minutes but it was important to win. Concentration was high, we were resilient, I'm very happy.
"We played with our spirit tonight. The last pass wasn't always there, but Riyad Mahrez made one fantastic pass for Slimani."