The match appeared to be heading for a stalemate until Artur Sobiech found the back of the net with less than 10 minutes remaining
The match seemed to be headed towards a goalless draw, but with just minutes remaining Artur Sobiech rose from the bench and scored the winner.
The game started brightly with both sides registering a number of early chances. The Latvians were the first to advance as Aleksandrs Cauna sprayed a pass to Artjoms Rudnevs, who swung a left boot at the ball, but Lukasz Fabianski was more than equal to the effort.
It was not long before the Poles had their first effort, but Pavels Dorosevs was able to turn Adrian Mierzejewski's shot around the post for a corner.
The match then tailed off before bursting back to life in the 20th minute. Pawel Brozek forced a decent save from Dorosevs, before putting a delicious ball across the face of goal that no-one was able to turn in.
At the other end, Ivans Lukjanovs picked up a loose ball 30 yards from goal and shot, but Fabianski did brilliantly to turn it away.
Then a period of pressure for the Baltic nation started. Oskars Klava met a corner at the near post, and flashed a header inches over the bar, before Cauna produced another fine save from Fabianski with an effort from distance.
However, right on the stroke of half-time, Poland came within inches of taking the lead. Marcin Wasilewski brilliantly met a free kick, but with Dorosevs beaten, the post came to the rescue to ensure a stalemate at the break.
The second half was a far less gripping affair. Eugen Polanski thought he had given Poland the lead when he headed Kamil Grosicki's header goalward, but only found the side-netting.
Adam Matuschyk's effort almost bounced in via a hefty deflection, but, much to the relief of the stranded Dorosevs, the ball bounced wide.
In the end, the breakthrough finally arrived with less than 10 minutes remaining. Grosicki sent in a lovely pass from the left, and Sobiech was there to head the ball past a helpless Dorosevs.
Jakub Wawrzyniak almost added a second minutes later with another header, and Marcin Kaminski almost put the ball past his own keeper, but his blushes were spared by the alert Fabianski.
In the end, the Sobiech strike was enough to separate the two sides. Poland will complete their preparations for Euro 2012 with matches against Slovakia and Andorra, before locking horns with Greece in the tournament curtain-raiser on June 8.