Cristiano Ronaldo returned from injury to score his 125th Champions League goal but Juventus were held to a 1-1 draw by impressive Ajax in the first leg of their quarter-final in Amsterdam.
After beating holders Real Madrid in the previous round, Ajax again took the game to one of Europe's giants and more than deserved the superb equaliser scored by David Neres less than a minute after half-time.
Having missed four games with a thigh injury, Ronaldo was back in the starting line-up and back among the goals, heading in the opener in the 45th minute for his eighth goal in his last five Champions League matches against Ajax.
That goal gives the Italians a slight advantage heading to Turin but, after Ajax's 4-1 victory in the Bernabeu last month, Juve will know they still have a lot of work to do.
The visitors had the first attempt on goal when Federico Bernardeschi sent a strong effort over the bar in the second minute, but Ajax had most of the better chances for the rest of the first half.
Hakim Ziyech was a thorn in Juventus' side and he produced two good shots from range before forcing Wojciech Szczesny into a fine save when he finished off a spell of pressure by curling a 20-yard effort towards the top corner.
Donny van de Beek had an even better opening in the 25th minute when he was found by Dusan Tadic 15 yards out but his first touch was heavy and he could only drill a shot wide.
Juve had threatening moments, with Bernardeschi sending another shot wide in the 37th minute, and when a clear opportunity finally arrived inevitably it was Ronaldo who took it.
He had been largely anonymous but played the ball out to Joao Cancelo on the right and then burst all alone into the centre of the penalty area, where he directed a flying header into the net. Andre Onana got a hand to the ball but had little chance of keeping it out.
The scoreline was harsh on Ajax, but they were level straight from the restart. Neres dispossessed Cancelo on the left-hand touchline and drove into the box before curling a superb effort into the far corner.
Ajax immediately went in search of a second and Nicolas Tagliafico fired into the side netting while Neres had the ball in the net again but was clearly offside.
Ronaldo appealed for a penalty in the 53rd minute after feeling he had been pulled back as he tried to get on the end of Bernardeschi's free-kick but, after a quick VAR check, the officials were in agreement that it was not a foul.
The vast majority of the pressure was coming from Ajax, though, as they continued to demonstrate that their upset of Real was just as much about their excellence as the difficulties of their opponents.
Substitute Jurgen Ekkelenkamp came closest to finding a winner in the 83rd minute but could not get enough power on the effort to beat Szczesny.
Ajax then had to ride their luck as Juve substitute Douglas Costa, returning from two months out with a thigh injury, raced into the area and crashed a shot against the far post.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', 'd0aab5cb-0bcb-496a-8584-542b75e8770d');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:club-news,paservice:sport:football,paservice:sport:match-reports,paservice:sport:uk,paservice:sport:world');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Ronaldo nets 125th Champions League goal as Juve draw at Ajax'});