Kai Havertz scored an 89th-minute equaliser to rescue a point for Bayer 04 Leverkusen after Mario Gomez netted a hat-trick for VfL Wolfsburg in a highly-entertaining 3-3 draw at the BayArena on Sunday evening.

Karim Bellarabi started the scoring on the day after his precise volley before half-time put the hosts 1-0 up heading into half-time.

Kevin Volland then netted a second goal for the hosts mid-way through the second-half to look like sealing all three points for the home side.

That wasn't the case though as Gomez scored a seven-minute hat-trick to put the Wolves in front and that looked like securing them all three points.

Havertz, though, wasn't going to let that happen as he scored just before the full-time whistle - becoming the youngest ever player to score for Leverkusen in the league at 17 years, 9 months and 22 days - to bring to an end to one of the best Bundesliga games of the season.

Visitors made the early running in the game

The game started slowly as both sides looked to settle into the game at their own pace but just after ten minutes, the visitors started to create some chances.

After a good passing move, the ball found it's way to Riechedly Bazoer on the edge of the box. He hit a low drive towards goal but Bernd Leno got down well to save.

Leno was called into action again soon after when another slick passing move from the Wolves ended with the in-form Gomez finding some space in the box, but his goalbound shot was kept out by the German keeper.

The next chance they created should have led to a goal when Veirinha went on a fantastic run into the box and played the ball across the goal but Gomez was on his heels and couldn't get to the ball to tap into an empty net.

Bellarabi put the hosts in front against the run of play

Then all of a sudden after neither team did anything of note in the game, the hosts got themselves in front after a fantastic passing move was finished off by Bellarabi.

It was the first time the visitors let the hosts have the ball for a sustained period and that was their mistake as Charles Aránguiz picked the ball up on the left-hand side of the box and played a fantastic cross into the path of Bellarabi, who volleyed into the back of the net.

The hosts grew in confidence after that as Bellarabi tested Koen Casteels from the edge of the box but went into the break behind.

Wolves continued to miss chances at the start of the second half

The second-half began much like the first as the visitors started the stronger of the two sides.

They should have been back on level terms when Gomez was played in on goal but his goalbound shot was hooked away on the line by Aránguiz after Leno took the sting off the shot.

Minutes later, Luiz Gustavo should have scored when he rose highest from a corner-kick but put his free header over the bar when he should have scored.

Volland punished the visitors by scoring the hosts second of the game

These misses looked like being crucial when Volland scored the hosts second goal. Havertz, on as a second-half substitute, flicked the ball on from a free-kick straight into the path of Volland, who made no mistake by putting the ball into the net.

The Wolves though continued to show spirit and almost got themselves back in the game when Gustavo saw his header come back off the bar.

Gomez netted a seven-minute hattrick to turn the game on it's head

Finally in the 80th minute of the game the visitors did get a goal that their performance deserved when Jakub Błaszczykowski's fantastic cross was headed into the back off the net by Gomez.

And only three minutes later Gomez got his second goal of the game when he rose high from a Maximilian Arnold corner-kick to head home and get his side deservedly on level terms.

Incredibly, the visitors managed to complete the comeback and go 3-2 up just seven minutes after their first goal of the game. A brilliant run from Blaszczykowski into the box saw him brought down by Benjamin Henrichs and referee Deniz Aytekin pointed straight to the spot.

Gomez, on a hat-trick, sent Leno the wrong way to complete his treble and seal an incredible turnaround, but that wasn't to be the end of the scoring.

Havertz rescued a point for the hosts before the end of the game

Two minutes after going behind for the first time in the game, the hosts managed to snatch a point as 17-year-old Havertz smashed the ball into the back of the net after a great pass from Bellarabi found the youngster.

They could have won it in stoppage-time when Roberto Hilbert was played through on goal but saw his shot cleared off the line.

At the final whistle, both teams had to settle for a point in an enthralling game that got its deserved outcome in the end.