Piotr Zieliński opened the scoring for Poland with a clinical shot from inside the box five minutes into the game at the National Stadium in Warsaw.
Borna Sosa drew Croatia level with a spectacular long-range volley in the 19th minute.
Petar Sucić put the visitors 2-1 ahead five minutes later after an error by the home team's defence, and Martin Baturina added another in the 26th.
Nicola Zalewski reduced the deficit for Poland with a precise left-footed strike in the 45th, and Sebastian Szymański equalised 13 minutes later after being set up by Robert Lewandowski.
Croatia ended the match reduced to 10 men after goalkeeper Dominik Livaković was sent off in the 76th minute for a foul against Lewandowski.
The Poles went into the match aiming to redeem themselves in front of the home crowd after lackluster performances in the previous two Nations League fixtures.
Poland are ranked 30th worldwide by football's governing body FIFA, while Croatia are No. 12 in the FIFA table.
The Polish team opened its Nations League campaign by defeating Scotland 3-2 in Glasgow last month. The Poles were then beaten 0-1 by Croatia in Osijek in their second game in Group 1 of the top League A, and lost 1-3 to Portugal at Warsaw's National Stadium on Saturday.
After four rounds of fixtures, Poland are third in their Nations League Group A1, with four points.
The Polish team will now take on Portugal away in its next Nations League fixture on November 15 and then play at home against Scotland in its final group-stage fixture on November 18.
The Nations League is the European football governing body UEFA’s newest national-team competition that is now in its fourth edition.
Portugal won the first edition of the Nations League in 2019, while France won the 2020/2021 UEFA Nations League, and Spain triumphed in the 2022/2023 edition.
(gs)
Source: IAR, PAP, TVP