Arjan de Zeeuw's goal ensured Velimir Zajec's first game in charge of Portsmouth ended in victory.
De Zeeuw headed home Gary O'Neil's free-kick on the stroke of half-time, while Patrik Berger also had two good chances to score for Pompey.
Bolton created little, although Jamie Ashdown saved well from Kevin Davies and Radhi Jaidi hooked the ball over from short range after the break.
And as Bolton's frustrations grew El-Hadji Diouf seemed to spit at De Zeeuw.
Pompey had lost their previous three games but life after Harry Redknapp began with a victory.
It is a welcome boost for Pompey, who had not won away all season, but it was a poor performance from Bolton, who followed up last week's superb comeback at Chelsea with an uninspired home display.
Bolton enjoyed the majority of the play in the opening half but struggled to create clear-cut openings.
Okocha shot wide from long range and then caught the Pompey defence unawares with a quick free-kick out to Diouf.
The Senegal international passed the mall back to Okocha but the Nigerian's shot struck a melee of players between him and goal.
Diouf burst down the right and into the Pompey area after 27 minutes before passing to Stelios Giannakopoulos but the Greece international was crowded out.
Okocha resisted the attentions of several Pompey players before playing a delightful ball to Diouf, who turned and shot from 12 yards only to be thwarted by a good save from Ashdown.
Ricardo Fuller had Pompey's first strike at goal, cutting in from the left but pushing his shot wide of Jussi Jaaskelainen's goal.
Okocha tried once more from long range before the break, while Berger had an excellent chance to score for the visitors.
The Czech Republic start had a clear sight of goal from 12 yards after cutting inside Bruno N'Gotty but made poor contact with his shot and Jaaskelainen saved.
But just as it seemed the first-half would end goalless De Zeeuw headed Pompey into the lead.
Nicky Hunt was penalised for a foul on Matthew Taylor and De Zeeuw headed home the subsequent free-kick, which was superbly delivered by Gary O'Neil.
Zajec watched Pompey from the stands
Davies almost concluded a goalmouth scramble with an equaliser after 48 minutes but Ashdown smothered his shot.
Shortly afterwards Jaidi should have scored after Davies' flick put him in space but he scooped the ball over the Pompey crossbar.
Berger almost scored a sensational second for Pompey - but after running at goal from the half-way line he dragged his shot narrowly wide.
Bolton defender Ricardo Gardner was stretchered off, while both Fuller and De Zeeuw went close for Pompey.
Sam Allardyce introduced Henrik Pedersen after 62 minutes to add more threat up front and the home side went in search of an equaliser.
Diouf thought he should have had a penalty after the lightest of contact with Andy Griffin and Okocha missed the target with a free-kick.
And with time running out Diouf appeared to spit in the direction of De Zeeuw, who did not react to the incident.
It was almost the final act, but in injury-time Berger forced a save from Jaaskelainen.
Bolton: Jaaskelainen, Hunt, Jaidi, N'Gotty (Pedersen 62),
Gardner (Hierro 57), Okocha, Campo (Nolan 88), Speed, Diouf,
Subs Not Used: Oakes, Ben Haim.
Portsmouth: Ashdown, Primus, De Zeeuw, Stefanovic, Griffin,
Taylor (Faye 88), Stone, Quashie, Berger, O'Neil, Fuller.
Subs Not Used: Harper, Berkovic, Cisse, Wapenaar.
Goals: De Zeeuw 45.
Ref: S Dunn (Gloucestershire).