Dave Kitson scored against his former club to give Portsmouth their first win of the season.
Jason Pearce made his debut in the centre of defence in place of Hermann Hreidarsson with Tal Ben-Haim switching to left back and Aaron Mokoena playing at right back. Joel Ward also dropped to the bench for Dave Kitson who partnered Kanu up front as Benjani started as a substitute.
In a match that was far more entertaining than previous games at Fratton Park, Pompey took the game to Reading with Greg Halford's fierce strike hitting the crossbar.
Kanu was at the centre of every creative move as the home side pushed forward often in search of an opening goal but were almost punished for being too gung-ho when Liam Lawrence lost the ball to Jem Karacan who raced through on goal only to be denied by a last ditch challenge by Hayden Mullins.
Kitson then missed an absolute sitter as he was played through on goal only to take far too much time on the ball which saw Federci save his tame shot after the angle had been narrowed.
Pompey were very nearly punished for that miss as Jimmy Kebe headed Jobi McAnuff's cross against the post. David Norris was then guilty of a glaring miss as he poked Luke Varney's square ball wide with the goal at his mercy.
After the break Varney missed a good chance himself when he headed Lawrence's cross over the bar but the deadlock was broken when he fired the ball past Federici from Lawrence's corner.
Pompey began to dominate the game but were thankful to Jamie Ashdown for keeping the scores level after he produced a superb reflex save to keep Karacan's strike out.
The instrumental Kanu, who had a couple of shots in the first half, tested the Reading 'keeper with a thunderous strike of his own before he was replaced by Benjani who received a tremendous reception from the home fans.
The Zimbabwean was involved in Pompey's last meaningful attack of the game as he passed the ball back for Varney who was open in the box but he could only roll the ball wide of the goal.
There were a few nerves when the fourth official revealed five extra minutes of stoppage time to be played but the solid defence held out and Steve Cotterill's men earned a well deserved first win and clean sheet of the season.
It's surprising how much a change in formation can change a team's fortunes, isn't it? Kitson may have missed a sitter but was far better tonight than he has been for a long time whilst Kanu, playing just off him, was majestic with his passing and creating opportunities for others.
Pearce came in and performed well on his debut. He wasn't afraid to put his body in the way and seemed to know what he was doing alongside Halford. Credit should also go to Ashdown not just for his brilliant save but also for commanding his area well and claiming balls into the box with confidence.
There is still much work to be done as passes were going astray a little too much and the football was still a bit too "bitty" at times which wasn't very easy on the eye but it was a vast improvement on the Brighton game as Pompey's players were being competitive without collecting so many cards.
So, this is a step in the right direction and hopefully Benjani and Kanu can put the ball past their old team mate a few times on Saturday!
Pompey Player Ratings
Jamie Ashdown: 7 - Superb save capped confident showing.
Aaron Mokoena: 6 - Worked hard but looks out of place at right back.
Greg Halford: 6 - Dealt with all of Reading's direct balls into the box.
Jason Pearce: 7 - Put himself about, impressive debut.
Tal Ben-Haim: 6 - A little shaky at times, would probably be better at right back.
Liam Lawrence: 6 - Getting better.
Hayden Mullins: 7 - Got stuck in and made some important challenges.
David Norris: 6 - Missed a great chance but never gave up.
Luke Varney: 7 - Managed to beat his man many a time tonight after struggling on Saturday.
Kanu: 8 - Sublime skill on the ball, always looked to create something.
Dave Kitson: 7 - Missed a sitter but atoned for it and looked interested in playing again.
Substitutes
Stephen Henderson
Joel Ward (Lawrence 85): N/A - Brought on to preserve lead.
Ricardo Rocha
Ryan Williams
Benjani (Kanu 76): N/A - Involved in one attack late on but great to see him back.