Luis Hernandez scored in the 18th minute and Andy Reyes scored in the 27th for the Costa Ricans while Kosovar Sadiki was credited with an own goal in the 74th.
"I'm very disappointed, obviously," said Canada's coach Sean Fleming. "It's more the goals we gave up that were easily avoidable. I give great credit to our kids, though. I'm so proud of them. They stayed to the task for the whole 90 minutes and it's football. We created good chances today.
"It was just a bit of lack of execution at the key moments. I've been in these games enough now that if you do that, you'll unfortunately get the wrong result."
The Canadians had rallied to beat Costa Rica 3-2 earlier in the tournament.
Hernandez goal came off of a long free kick that he was able to flick ahead of Canada's defenders.
"Off the free kick (on the first goal) there's no excuse for that," said Fleming. "We knew exactly where they were going to put it and we didn't execute. But the response after was very good but you can't keep going behind against good teams like this."
Reyes extended the lead after the Canadians were unable to fully clear the ball and he put a low shot into the right side of the net. A freak incident where Ballou Tabla passed the ball back to goalkeeper Luciano Trasolini ended up in the back of the net after kicking up on the pitch.