FC Schalke 04 came from four goals down after just 25 minutes to draw 4-4 away at 10-man Borussia Dortmund in an enthralling Revierderby thanks to Naldo's 94th minute header.

The Yellow-Blacks raced into a 4-0 goal lead before the half-hour mark after Pierre-Emerick Aubameyang scored a sixth career goal in nine matches against Schalke to open the scoring.

They followed that up with three goals in seven minutes, Benjamin Stambouli netting an own goal before Mario Götze's header and a fine Raphaël Guerreiro volley.

But Guido Burgstaller's looping header over Roman Weidenfeller offered Schalke hope before substitute Amine Harit sparked real belief by making it 4-2 on 65 minutes.

Goalscorer Aubameyang was sent off for a second yellow card soon after and Daniel Caligiuri moved the Royal Blues closer to the unthinkable with a sublime third with four minutes left.

In the fourth of seven minutes added on at the Westfalenstadion, centre-back Naldo rose highest to power in a header and earn Schalke a dramatic point in an emotionally-charged derby.

Peter Bosz has now won just one of his last 10 games in all competitions as Dortmund boss, having overseen a slip from first to fifth, and the way they surrendered control - and their advantage - here means the Dutchman could well lose his job in the coming days.

This was only the second time in Bundesliga history that a team have come from 4-0 down after Bayern Munich beating Bochum 6-5 back in 1997 and stretches Schalke's unbeaten run to eight games.

Pulisic back in for Dortmund

Dortmund welcomed back Christian Pulisic to the starting line-up with the American becoming the youngest foreign-born player, and third-youngest of any nationality, to make 50 Bundesliga appearances.

Goalkeeper Roman Bürki remained out with a head injury sustained in the defeat to Tottenham Hotspur on Tuesday as Bosz made five changes from mid-week, using two defensive midfielders in an apparent 4-2-3-1 formation - a change from his usual 4-3-3.

Schalke remained unchanged from their victory over Hamburg SV last weekend with Leon Goretzka only on the bench to start despite his recent return to fitness.

Franco Di Santo, who scored last time out, overcame a slight injury to start while another rising US star, Weston McKennie, was handed his 10th appearance for the club.

Schalke started brightly and might have found a breakthrough before the yellow haze of the Yellow Wall's pre-match pyrotechnics had lifted, but Yevhan Konoplyanka lifted his shot over the bar just 30 seconds in.

Aubameyang equals Yeboah record

And despite the early energy of Schalke's display, Dortmund struck first on 12 minutes.

Pulisic's cross into Nuri Şahin saw the midfielder flick towards the back post for Aubameyang to slide in his 11th league goal in 12 games, albeit the ball ultimately going over the line courtesy of an inadvertent handball.

That strike was also enough for Aubameyang to equal Tony Yeboah's 96-goal tally in the German top-flight and become the joint highest-scoring African in Bundesliga history.

These two teams came into the clash in massively contrasting form, Dortmund claiming just one point from their last available 15 while Schalke took 13 over the same period.

Embed from Getty Images

Dortmund run riot

Yet Dortmund made a mockery of the visitors' superior form as Aubameyang went close again a minute later, firing Andriy Yarmolenko's low cross into the ground and just over the bar.

Ralf Fährmann was helpless to prevent Dortmund doubling their lead through a Stambouli own goal on 18 minutes.

Stambouli stretched out his right leg to meet Şahin's deep free-kick but in his attempt to cut out the cross, could only divert the ball past his own goalkeeper as the Westfalenstadion rocked.

Dortmund tore through their Ruhr district rivals and two minutes later they countered with electric pace from a Schalke corner and netted another for a quick one-two punch to leave Dominic Tedesco's visitors stunned on the canvas.

Yarmolenko's forward pass allowed Aubameyang to drive down the right-hand side and deliver a cute cross for Götze to run on to and power a downwards header into the far corner.

And no sooner was it a three-goal advantage than it was four as Dortmund continued their unstoppable spell much to the delight of the 75,000 home fans.

Götze and Aubameyang combined in the box before the Gabonese front-man's shot was blocked. But it bounced out for Guerreiro, unmarked, to set himself and deliver a stunning left-footed volley across goal and past Fährmann.

Two quick-fire goals give Schalke hope

Such was Dortmund's dominance, Schalke made two changes after half-an-hour to stop the rot - Goretzka and Harit replacing McKennie and Di Santo.

They enjoyed a brighter spell but struggled to create openings and Schalke made their third and final substitution as early as half-time, booked 21-year-old Thilo Kehrer replaced by Matija Nastasić.

The away side almost had the brief glimmer of hope that they so desperately needed but Goretzka somehow failed to keep his header from Bastian Ozicpa's cross on target.

The game opened up and Fährmann tried to outwit Aubameyang when the striker tried to press him in his own six-yard box, only to gift the ball to the 28-year-old. But the 'keeper recovered to force a corner before Aubameyang could score from an angle.

Weidenfeller stood strong to deny Caliguiri before Goretzka lobbed over after trying to catch the 'keeper over his line from 35 yards out.

But Schalke finally got themselves on the score-sheet on the hour mark when Burgstaller met Stambouli's 50-yard pass on the edge of the box to flick a header beyond an out-of-position Weidenfeller.

Just three minutes later, Schalke had a second through Harit. Konoplyanka stood up Ömer Toprak down the left and stabbed a cross to the French-born Moroccan forward, who controlled and lashed in to make it 4-2.

Embed from Getty Images

Schalke steal late point after Aubameyang red card

Burgstaller side-footed wide two minutes later as they pressed for more goals and just as Dortmund began to steady the ship, Aubameyang was dismissed for a second bookable offence.

Weidenfeller had to make another excellent stop to deny Burgstaller a second goal from the resulting free-kick, tipping the striker's header off of the post.

The numbers were temporarily equal when Harit went off through injury with Schalke having made all of their substitutions, but he soon returned - albeit with a heavy limp.

And the drama continued as Tedesco's men scored a third through Caliguiri, who cut into the box on his left foot and curled a sensational rising drive into the top corner as Schalke's confidence surged.

The nerves were palpable after seven additional minutes were added on and they ultimately translated down on to the pitch.

Naldo headed in an emphatic equaliser from a late corner to earn Schalke an incredible and unimaginable point in North Rhine-Westphalia that could well spell the end of Bosz's time in charge of their rivals.