Nicolas Anelka's goal early in the second half settled a dour Champions League tie which was played in miserable conditions.
Both sides struggled to click in torrential rain, but the extra gulf in class between the sides told as the Portuguese outfit struggled to mount any prolonged pressure on the Blues' defence.
Anelka's goal was a rare exciting moment in a typical cagey European tie, which was played at a pace of a pre-season friendly.
The Frenchman beat Porto keeper Helton at the second attempt after a neat dink through by strike partner Salomon Kalou, who came in for the suspended Didier Drogba.
The striker's first shot from the edge of the area was parried by Helton, who thought the ball had got far enough way for any immediate danger.
But Anelka quickly struck a rebound from a tight angle, which evaded the helpless Helton and the Porto defenders.
The goal was sufficient for the Blues to sit back and control the pace of the game for the last 40 minutes and propel themselves to an early lead over their Group D rivals.
A dull first half set the tone for the rest of the evening, as the London rain which prevented Queens Park Rangers and Crystal Palace from playing their Championship fixture belted down at Stamford Bridge.
Frank Lampard and Hulk traded early long-range shots which forced saves from either goalkeeper, but the rest of the half provided little in the way of excitement.
Lampard had a glorious chance on just seven minutes, as the Porto rearguard all froze in anticipation of an offside flag.
But the England midfielder played to the whistle and got his head onto Branislav Ivanovic's cross, but directed his header straight at Helton.
Anelka had a few chances himself, but the absence of the physical presence that is Drogba seemed all too apparent as the home side mounted no serious pressure.
As the half wore on, Porto grew in confidence and Freddy Guarin went close with a looping header which had Petr Cech beaten. The ball landed on top of the net, to the relief of the Bridge.
On the stroke of half-time, Porto had their chance of the match, as Jose Meireles had a free header at the far post, but he directed the header straight to Cech and let the home side off the hook once more.
After Anelka netted on 48 minutes, the rest of the half was something of a non-event, until injury time when Francisco Fernando saw a second yellow card and his marching orders for a rash challenge.