Preston North End opened their Championship campaign with a thrilling 2-2 draw against Bristol City at Deepdale in front of a crowd of 13,025.
Preston created the first chance in the fourth minute when left-winger Ross Wallace's free-kick was flicked on at the near post and Veliche Shumulikoski had a back-heeled volley saved by City goalkeeper Dean Gerken.
Four minutes later Lilywhites striker Neil Mellor found Jon Parkin on the right wing and he cut in and his left-foot cross was saved.
Preston new boy Paul Parry found Mellor and he had a volley parried in the tenth minute.
Two minutes later Jamie McAllister crossed the ball to Danny Haynes and he had a shot saved by Preston goalkeeper Andy Lonergan.
Parry cut in and had a left-foot shot punched out and Mellor's header found Parry, who had a low shot cleared for a corner after 19 minutes.
Two minutes later Haynes had a by-line shot saved and Nicky Maynard's shot was saved. Jamie McAllister's cross was cleared after 25 minutes.
Two minutes before half-time Shumulikoski had a shot saved.
Haynes was fouled in the penalty box by the booked Youl Mawene and Paul Hartley smashed home the penalty after 49 minutes to make it 1-0 to City.
Sean St. Ledger was booked for a foul on Maynard after 53 minutes.
Haynes assisted the booked David Clarkson after 58 minutes and he made it 2-0 to City with a low shot into the middle of the net from inside the area.
Chris Brown and Barry Nicholson replaced Mellor and Shumulikoski after 65 minutes. Marvin Elliott was booked for a foul on Nicholson after 72 minutes.
Gavin Williams and Cole Skuse replaced Hartley and Clarkson after 75 minutes and Ivan Sproule replaced Haynes after 81 minutes.
Parkin pulled a goal back for Preston after 82 minutes with a 16-yard left-foot volley from a Parry cross.
In the fifth minute of added time Preston captain Callum Davidson equalised with a left-footed penalty after Louis Carey handled in the area.