Aaron Wilbraham gave the Robins the lead on 71 minutes but that lead was cancelled out four minutes later as Winchester struck the leveller.
Both sides started brightly but it was the visitors that went close in the opening two minutes.
Former Arsenal man Luke Freeman was allowed space on the edge of the box but struck wide of Joel Coleman's goal.
Latics applied early pressure and the returning striker Rhys Turner used his pace effectively to get behind his defender and win a corner which was eventually cleared.
Ex-captain Korey Smith was the first player to go into the book on nine minutes as he halted Jonathan Forte's breakaway.
Coleman, who was starting his fourth successive game, pulled off a superb one-handed save to deny Aaron Wilbraham at the back post.
Latics' front three, Turner, Dominic Poleon and Forte were causing a real nuisance in attack putting the City defence under a lot of pressure.
Midway through the half, Latics had their best spell going close on numerous occasions.
Firstly, Carl Winchester curled a shot which was destined for the top corner but Robins defender Derrick Williams headed over the crossbar.
From that resulting corner, the ball fell for Poleon and his deceiving cross almost found a way past Frank Fielding but it went behind for another corner.
Jones played a quick one-two with Sadler at that corner and shot from 25 yards which Fielding tipped away from danger.
Bristol City came back into the game and went close again just after the half hour mark as Freeman shot wide under little pressure from 25 yards.
Latics were forcing the league leaders into silly errors but they couldn't turn that pressure into a goal before the half time whistle.
Athletic started the second half much the same as the first as they applied pressure to the Bristol City from the whistle.
Five minutes into the second half, Poleon nicked the ball off Smith's boot and drove at the defence but shot wide of the post.
Latics were restricting their visitors to limited chances on goal as the defence stood firm.
On the hour mark, an unlikely source almost gave Athletic the lead.
Connor Brown, who has only one goal in his Latics career, opened fire from 30 yards but Fielding pulled off a magnificent save to deny the full back.
The visitors brought on Wade Elliott and Jay Emmanuel-Thomas to get a goal out of the game but it was Latics that continued to do the pressing.
Against the run of play, Bristol City took the lead on 71 minutes through Wilbraham.
Neat play on the left hand side from Freeman saw him cross into the centre for City's top goalscorer and he prodded home from five yards to put the league leaders ahead.
That lead lasted four minutes, however, as Latics drew level.
Winchester won the ball on the left-hand side of the field, cut inside and fired a low shot past Fielding to draw Athletic level.
Latics were in the ascendancy and minutes after drawing level, they almost took the lead.
Substitute Conor Wilkinson received the ball inside the box from a corner, he lobbed the ball over the head of everybody but somehow Fielding plucked the ball out the air to tip it around the post.
All the pressure was with the home side and Winchester almost put Latics in the lead but his effort ten minutes from time flew past the post.
The league leaders broke up the field and almost snatched victory with just over five minutes remaining. Joe Bryan's low cross was almost met by the onrushing Wilbraham and Elliott but it was just in front of them.
With a minute of normal time remaining, Latics almost won the game but Forte was denied at the back post by the goalkeeper.
Whilst shooting, Forte was met by a City defender and he received a massive whack on his ankle which forced Latics to defend with ten men for the remaining six minutes added on.
Athletic defended for their lives with Elliott and Williams the only shots Coleman had to deal with.
They did eventually hold on for a respectable draw against the league leaders at SportsDirect.com Park.
Oldham Athletic: Coleman, Brown, Lockwood, Gerrard (J.Wilson 82'), Sadler, Woodland (Wilkinson 72'), Winchester, Jones, Poleon, Forte, Turner (Mills 85').
Subs not used: Kean, Kusunga, Dieng, Bove
Bristol City: Fielding, Little (Saville 81'), Williams, Flint, Smith, Freeman, Wilbraham, Agard (Emmanuel-Thomas 60'), Pack (Elliott 66'), Ayling, Bryan.
Subs not used: Wagstaff, Richards, Cunningham, Tavernier.
Goals: Oldham Athletic (Winchester 75') 1-1 Bristol City (Wilbraham 71')
Attendance: 4,577 (901 visiting supporters)