Goals in either half from Hernan Crespo and Frank Lampard were enough for the Premiership champions but it wasn't made easy for them.
Portsmouth were playing their first match without Alain Perrin, who was sacked on Thursday, leaving Joe Jordan to take over the reign temporarily.
And Jordan made some immediate changes as Frenchman Laurent Robert was left out of the squad and Lomana LuaLua was recalled to the side making his first start for two months after a malaria scare.
Chelsea were forced into changes as Claude Makelele was injured, allowing Eidur Gudjohnsen his chance in midfield.
Portsmouth, who are sitting one place above the relegation zone, looked the better side in the opening period and after Damien Duff saw a right-foot shot easily saved by Jamie Ashdown it was Chelsea who were on the back foot.
Ashdown's long clearance was knocked down by Dario Silva and LuaLua fired in a dipping right-foot volley from the edge of the area which keeper Petr Cech acrobatically tipped over the crossbar.
And Cech's save proved to be vital when Chelsea took the lead in rather fortuitous circumstances on 27 minutes. Right-back Paulo Ferreira fired in a right-foot shot that looked to be heading for the corner flag until Crespo diverted it past the hapless Ashdown.
It was Crespo's second goal in a week after scoring in the midweek Champions League win at Anderlecht.
And the Argentine looked lively, but soon had his afternoon cut short when he limped off in the 38th minute to be replaced by Carlton Cole.
Gudjohnsen tested Ashdown from distance moments later before England centre-back John Terry was on his guard in stoppage time.
Portsmouth worked the ball out to Gary O'Neil on the right and his centre looked to set up an easy chance for Silva only for Terry to intervene at the crucial moment to clear.
LuaLua was proving to be a constant menace for Chelsea and his perseverance nearly paid off on the hour.
The ball found its way to the DR Congo international on the edge of the area only for his left-foot shot to sail high and wide of the Chelsea goal.
Portsmouth introduced Bulgarian striker Svetoslav Todorov in attack on 62 minutes in search of an equaliser, but it was Chelsea in attack who finally made another breakthrough in controversial circumstances.
The influential Joe Cole's trickery in the box forced Dejan Stefanovic to make a rash tackle and referee Phil Dowd pointed to the spot much to the annoyance of the home fans.
And despite a short delay as Stefanovic was booked, Lampard took his time to coolly slot the penalty home and double his side's lead.
Chelsea went in search of a third goal as they were on course for their 12th win of the Premiership season and nearly did add a third on 80 minutes.
Gudjohnsen's free-kick from 25 yards was well watched by keeper Ashdown who made a comfortable save to his right.
And substitute Geremi went even closer six minutes later when his curling effort fell just wide of the post.
Man of the Match: Joe Cole - The England winger was in top form and his trickery forced the penalty which won Chelsea the game.