Republic of Ireland winger Keith Treacy gave Preston an early lead but Darren Ferguson’s men were second best throughout and had Darel Russell dismissed late on.
Karacan, who had only managed one league goal for the Royals in over 50 appearances, crashed in a long-range leveller after the break.
North End made just one change from the remarkable 6-4 win at Leeds in midweek which meant striker Jon Parkin was handed the chance to continue after his hat-trick at Elland Road.
Defender Wayne Brown started in place of Craig Morgan, who found himself on the bench.
Reading were without suspended captain Matt Mills and his presence was obvious in the opening stages as Preston full-back Billy Jones was allowed a free header from just five yards but he put it wide.
The Royals then launched a rapid break and, after Shane Long carried the ball forward, he played it to Jobi McAnuff on the left who cut inside before smashing a looping shot against the crossbar.
Both sides were attacking in numbers but it was the home side who forged ahead in the 23rd minute.
Iain Hume chased a lost cause down the right before picking out Treacy perfectly to convert at the near post.
Reading almost drew level at the end of the first half when Zurab Khizanishvili headed on an inswinging Ian Harte corner but Andy Lonergan recovered to make a fine save.
The Royals were unfortunate to be behind at the break and their pressure paid off when Karacan drew them level in the 55th minute.
Another Harte delivery did the damage and, when his corner was half cleared, Karacan was on hand to power home an unstoppable half-volley from 25 yards.
McAnuff was then denied by Lonergan as the visitors looked for a winner before Russell was sent off for Preston.
The former Norwich midfielder had been booked in the first period and, when he tripped Jimmy Kebe, he could have little complaint after being shown a second yellow card.
Hume came closest to finding a winner but his shot in stoppage time was comfortably held by Reading goalkeeper Adam Federici.