Their first defeat under new boss Steven Pressley drops them to 10th, now five points adrift of a play-off place with just six games to go.
Portsmouth climb to 22nd, cutting the gap on Oldham, who sit just above the relegation zone, to five points.
VIEW FROM THE DRESSING ROOM
Portsmouth caretaker manager Guy Whittingham told BBC Radio Solent:
"This lifts everybody up and most of all it lifts our great fans, who were superb again.
"It was a good solid performance. I was really pleased with us defensively. When we were beaten, Simon Eastwood was capable of saving shots, so that's really pleasing.
"We know they're a good footballing side, so we had to make sure we worked hard to get close to them and stop them playing and, for the majority of the game, I think we did that.
"It's just having a settled side and players that are willing to work for each other, put shifts in, cover and tackle and be strong. When you get that spirit in your side as well, which we've built up over the last few weeks, that's a huge asset."
Sky Blues manager Steven Pressley told BBC Coventry & Warwickshire:
"We started well. In the first 20 minutes, we had real domination and a couple of big opportunities to take the lead and we didn't.
"There needs to be a greater trust with the players, and that's something we'll work towards. I'm disappointed. Not in the efforts of the group, not in their attitude, it was just their passing. We didn't dominate as much as we could have.
"It'll come. We've got a group of players who are hungry and I'm confident we'll respond to this setback.
"There's obviously been distractions, but I don't think they've had any impact on the game. There will not be any excuses. We'll continue as a to get results and get performances, and I'm sure our supporters will respond to that."
Effort from deep inside the area by David Connolly misses to the left of the goal.
Callum Ball gives away a free kick for an unfair challenge on Johnny Ertl. Free kick taken by Gabor Gyepes.
Unfair challenge on Franck Moussa by Therry Racon results in a free kick. Free kick crossed by John Fleck.
90:00 +0:13 Substitution
Substitution John Akinde comes on in place of Patrick Agyemang.
90:00 +0:13 Substitution
Substitution Jack Maloney replaces Liam Walker.
Shot from 20 yards by Callum Wilson. Save by Simon Eastwood. Corner taken left-footed by Callum Ball, Close range headed effort by Franck Moussa clears the crossbar.
Callum Ball delivers the ball, save made by Simon Eastwood.
The ball is crossed by Callum Ball, comfortable save by Simon Eastwood.
David Connolly takes a shot. Clearance made by William Edjenguele.
A cross is delivered by Jed Wallace.
Patrick Agyemang concedes a free kick for a foul on William Edjenguele. Direct free kick taken by Joe Murphy.
David Connolly challenges Cyrus Christie unfairly and gives away a free kick. Aaron Martin restarts play with the free kick.
Jed Wallace takes a shot from just inside the penalty box which clears the crossbar.
Outswinging corner taken left-footed by Liam Walker from the left by-line to the near post, Callum Wilson makes a clearance.
Substitution Jordan Stewart leaves the field to be replaced by Callum Ball.
Assist by Liam Walker.
75:54 Goal scored
Goal! - Patrick Agyemang - Portsmouth 2 - 0 Coventry Patrick Agyemang grabs a headed goal from deep inside the penalty box. Portsmouth 2-0 Coventry.
Free kick taken by Simon Eastwood.
Booking Ricardo Rocha is cautioned.
Booking The referee books Callum Wilson for unsporting behaviour.
Callum Wilson challenges Simon Eastwood unfairly and gives away a free kick.
John Fleck fouled by Johnny Ertl, the ref awards a free kick. Shot comes in from John Fleck from the free kick.
Corner taken left-footed by John Fleck, David Connolly makes a clearance.
Franck Moussa takes a shot. Save made by Simon Eastwood. Inswinging corner taken left-footed by John Fleck from the right by-line, clearance made by Patrick Agyemang.
Conor Thomas has an effort at goal from just outside the box which goes wide of the left-hand post.
Substitution Gary McSheffrey leaves the field to be replaced by Conor Thomas.
Substitution Steven Jennings leaves the field to be replaced by Callum Wilson.
The ball is sent over by Jed Wallace, James Bailey manages to make a clearance.
The assistant referee signals for offside against David Connolly. Free kick taken by Steven Jennings.
The ball is delivered by Shaun Cooper, William Edjenguele makes a clearance.
John Fleck challenges Patrick Agyemang unfairly and gives away a free kick. Free kick crossed left-footed by Liam Walker, Aaron Martin makes a clearance.
Foul by Shaun Cooper on Cody McDonald, free kick awarded. John Fleck takes the free kick.
Booking Booking for Liam Walker.
Franck Moussa fouled by Jed Wallace, the ref awards a free kick. Gary McSheffrey takes the free kick. Aaron Martin has a drilled shot. Save made by Simon Eastwood. Shot by Franck Moussa from 12 yards. Yassin Moutaouakil gets a block in. Inswinging corner taken left-footed by John Fleck, Unfair challenge on Simon Eastwood by Aaron Martin results in a free kick. Simon Eastwood restarts play with the free kick.
The ball is sent over by Shaun Cooper, comfortable save by Joe Murphy.
Effort on goal by Johnny Ertl from just inside the penalty area goes harmlessly over the target.
Liam Walker takes a shot. Clearance made by William Edjenguele.
Drilled left-footed shot by Cyrus Christie. Save by Simon Eastwood. Inswinging corner taken by John Fleck from the right by-line, comfortable save by Simon Eastwood.
The referee gets the second half underway.
45:00 +1:09 Half time
Half Time The match has reached half-time.
Inswinging corner taken left-footed by Liam Walker from the right by-line to the near post, clearance by Cody McDonald.
Cody McDonald concedes a free kick for a foul on Ricardo Rocha. Simon Eastwood takes the direct free kick.
Johnny Ertl concedes a free kick for a foul on Jordan Stewart. Direct free kick taken by William Edjenguele.
Gary McSheffrey gives away a free kick for an unfair challenge on Yassin Moutaouakil. Simon Eastwood takes the free kick.
Jordan Stewart delivers the ball, clearance by Ricardo Rocha.
Unfair challenge on Shaun Cooper by Steven Jennings results in a free kick. Free kick crossed by Jed Wallace.
Liam Walker takes the outswinging corner, clearance by Cyrus Christie.
Centre by Yassin Moutaouakil, Cyrus Christie manages to make a clearance.
Corner taken by Liam Walker from the right by-line, Shot from close range by Gabor Gyepes clears the bar.
Shot on goal by Cyrus Christie from inside the box goes harmlessly over the target.
Shot by Franck Moussa. Comfortable save by Simon Eastwood.
Free kick awarded for a foul by John Fleck on Therry Racon. Direct free kick taken by Shaun Cooper.
Foul by Jordan Stewart on Patrick Agyemang, free kick awarded. Liam Walker crosses the ball from the free kick left-footed from right wing, save made by Joe Murphy.
The ball is swung over by David Connolly, clearance made by Aaron Martin.
Centre by Liam Walker, Aaron Martin makes a clearance.
Assist by Shaun Cooper.
14:41 Goal scored
Goal! - Jed Wallace - Portsmouth 1 - 0 Coventry Jed Wallace fires in a goal from inside the penalty box to the top right corner of the goal. Portsmouth 1-0 Coventry.
The ball is sent over by Yassin Moutaouakil, William Edjenguele manages to make a clearance.
Yassin Moutaouakil delivers the ball.
The referee penalises Patrick Agyemang for handball. William Edjenguele takes the direct free kick.
Cody McDonald challenges Ricardo Rocha unfairly and gives away a free kick. Simon Eastwood takes the direct free kick.
Corner taken by John Fleck from the left by-line, clearance made by Shaun Cooper.
A save by Simon Eastwood from penalty by Gary McSheffrey. Portsmouth 0-0 Coventry.
Unfair challenge on Cody McDonald by Shaun Cooper results in a Penalty.
The official flags David Connolly offside. Aaron Martin restarts play with the free kick.
Liam Walker challenges Steven Jennings unfairly and gives away a free kick. Strike on goal comes in from Gary McSheffrey from the free kick, save made by Simon Eastwood.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.