© Getty Images
Their one-goal advantage lasted for just six minutes, however, as Scotland responded well to going behind, Shaun Maloney finishing off a slick move with a measured finish inside the box.
The visitors were the next to threaten as Steven Fletcher moved into space on the edge of the box, only to drag his shot wide of the target.
Poland could have restored their lead shortly after the restart when Kamil Glik nodded a corner down for Milik, but this time the striker rushed his effort and sliced it over the top.
Instead, it was Scotland who took a surprise lead in the 57th minute as Steven Naismith slid in to poke a deep James Morrison free kick into the bottom corner, netting the 6,000th European Championship qualifying goal in the process.
© Getty Images
Poland cranked up the pressure as a result of falling behind and almost restored parity through Milik and Sebastian Mila within 10 minutes of Naismith's strike.
They squandered a glorious opening shortly afterwards as Robert Lewandowski failed to connect with a Milik pass when he would have had a simple tap-in.
The hosts did draw level again with just under 15 minutes remaining of the match as Milik fired a fine strike past Marshall from the left side of the area.
Poland were not happy with a point, however, and pushed on for a winner, with Lewandowski drawing a stop from Marshall before Mila nodded narrowly wide from the resulting corner.
They came even closer to a winner with five minutes remaining as Kamil Grosicki fired an effort against the post, while Glik missed two chances in as many minutes shortly afterwards.
However, Gordon Strachan's men held firm in the closing stages to escape with a point that keeps them third in Group D, while Poland remain top on seven points.