Nicolas Roche, Michael Rogers, Matti Breschel and Chris Anker Sorensen all worked to set up Contador during the race but he struggled on the Muro di Sormano and then fell out of the back of the peloton with 20km and the final climb of Villa Vergano still to race.
Fortunately Majka was having a far better day. He was unable to go with Joaquim Rodriguez (Katusha) and Alejandro Valverde (Movistar) on the final steep climb but got the better of Dan Martin (Garmin-Sharp) in the final corners on the shore of Lake Como to take the final spot on the podium.
"I'm really happy to finish in third place in such a hard race like Lombardia," he told Cyclingnews after climbing onto the podium.
"I was suffering a bit in the rain but I was motivated in the finale because the team was working for me. I don't have as much experience as Alberto but when your form is good at the end of the season, you can always do well. I came out of the Vuelta feeling good and showed it by finishing second at Milano-Torino on Thursday."
A breakthrough season
Majka was one of the revelations of the year, having a breakthrough season in his third year as a professional.
He finished seventh overall in the Giro d'Italia after leading the best young rider competition for much of the race. He was also fourth overall in his home national tour, the Tour of Poland, and 19th in the Vuelta a Espana.
Despite hints via Twitter by Oleg Tinkov that Majka will be part of his new team, away from Bjarne Riis', he insisted he would stay loyal to Riis, despite the Danish team manager struggling to find a second sponsor to cover his budget.
"I'm really happy with my season. I've had a lot of placings but no victories. But I learnt a lot," Majka said.
"It was good to finish the season on a high. I want to stay on Riis' team because I've learnt a lot from him and we can do well next season."
His goal is simple: "I'd like to do top five in the Giro d'Italia." he said.
Thank you for signing up to Cycling News. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.