Weeks from capturing the imagination against Real Madrid, Ajax started promisingly against a Juve side who welcomed back Cristiano Ronaldo from injury.
With Andre Onana at full stretch, the visitors missed a good chance to take a second-minute lead after Federico Bernardeschi hoofed an inviting opportunity.
On 18 minutes, Wojciech Szczesny came good for the Old Lady with a thumping save from Hakim Ziyech's curler inside the box as the home side looked to up the tempo.
Ronaldo's first piece of action took place on the half-hour mark, as the Portuguese superstar's first-time volley from a corner strayed wide.
In the final minute of the half, Ronaldo bombed into the area for a powerful header past Onana following Joao Cancelo's delivery to put the visitors in front.
Straight from the restart, Ajax were level when a solo run from David Neres resulted in a top-corner finish past a scrambling Szczesny.
Soon after, Nicolas Tagliafico's darting run from the left ended off with a thunderbolt left-footed shot which strayed into the side-netting.
Ajax kept pushing for a second, with Dusan Tadic's back-heeled effort forcing Szczesny to go down for a save in the final 20 minutes.
Juve took control late in the second half and were denied a winner in the final three minutes, with Costa's low strike skimming off the upright before trickling out of play.
In the end, Juve left Amsterdam with a vital away goal that could prove crucial in the return-leg next week in Turin.