Riis met a great cross from Brad Potts as North End had one last attack in search of parity.
It was the Dane's second equaliser on the afternoon, with him pulling his side level early in the second half.
The Robins had taken an early lead through Chris Martin against a PNE side who were out of sorts in the first period.
Riis brought them level with a close-range finish after Camero Archer's shot had been parried, before an 81st minute goal from Antonie Semenyo restored the visitors' lead.
Then came a second helping of late drama in successive games to bring the Lilywhites a point.
Archer replacing Ched Evans was the only change from Wednesday night's 2-0 win at West Bromwich Albion.
The first half belonged to the visitors, with North End offering little attacking threat - their passing sloppy in general.
Rarely were they able to able to pass their way up the pitch, North End too often relying on longer balls down the channel.
The Robins took the lead in the 12th minute, Andreas Weimann sliding a pass into the box to find Martin's run to the left of goal.
He pulled away from Patrick Bauer and steered a low finish across Daniel Iversen into the far corner.
Semenyo volleyed over the bar from just inside the box after PNE had partly cleared a cross from Jay Dasilva.
A rare opening at the other end saw a low shot from Riis bobble through to the keeper.
There was a big let off for PNE six minutes before half-time as the visitors missed a sitter.
Semenyo's ball found Weimann five yards out but somehow the Austrian scuffed his goal across goal and wide of the far post.
North End made two half-time substitutions, Josh Earl and Ali McCann replacing Greg Cunningham and Ryan Ledson.
In the 49th minute, Archer collected a pass from McCann 20 yards out and hit a shot which travelled over the bar.
It was another Archer shot from outside the box which led to the Lilywhites' equaliser in the 52nd minute.
He found space on the edge of the 'D' and struck a powerful right-foot shot which keeper Max O'Leary dived to parry.
Riis was first to the rebound, shooting home left-footed from six yards.
The game opened up after the equaliser, North End having more energy in midfield with McCann's introduction.
Archer was a willing runner up front, looking for pockets of space to play in.
The Robins continued to carry a threat on the counter, Semenyo and Martin clever players who tried to drag the PNE defence out of shape.
It was Semenyo who put City back ahead in the 81st minute.
Han-Noah Massengo, the best player on the pitch, played a ball down the left side of the box to find Semenyo who fired home on the angle.
As the clock ticked down that goal looked like it would win it, however North End had other ideas.
With almost five minutes of stoppage-time played, McCann tracked back to halt a City break with a tackle on Cameron Pring close to the PNE box.
The ball was played forward to Alan Browne who rolled a pass with plenty of pace on it down the right-wing for Potts to chase.
Potts chased and lifted over a superb first-time cross which Riis sent crashing into the net on the volley.
Deepdale erupted, another late comeback completed.
PNE: Iversen, Van den Berg, Bauer, Hughes, Whiteman, Potts, Browne, Ledson (McCann 46), Cunningham (Earl 46), Riis, Archer. Subs (not used): Ripley, Lindsay, Rafferty, Sinclair, Evans.
Bristol City: O'Leary, Kalas, Klose, Pring, Dasilva (Cundy 82), Scott (Vyner 84), Massengo, O'Dowda (Williams 63), Weimann, Semenyo, Martin. Subs (not used): Bentley, Wells, Conway, Benarous.
Referee: John Busby (Oxfordshire)
Attendance: 11,936 (523 away)