Malaysia's Josiah Ng won the keirin gold after his team-mate Azizulhasni Awang, who crossed the line first, was controversially disqualified.
England's David Daniell was promoted to silver after Awang was thrown out for nudging Simon van Velthooven in a race that is traditionally full of bumps.
Keirin Olympic silver medallist Ross Edgar missed out on the final after being brought down in his semi-final.
Scotland won silver in the women's team sprint as Australia took gold.
Aussie world champions Anna Meares and Kaarle McCulloch outclassed Jenny Davis and Charlie Joiner in the sprint.
They were quickest out of the start gate and powered round the track to win by more than two seconds.
In the men's points race, Australia's world champion Cameron Meyer was too good for the rest of the field as he strolled to victory, collecting almost double the amount of points as England's George Atkins who won silver.
Mark Peter Christian of the Isle of Man won the bronze.
I'm a bit gutted as the keirin was my main goal
Scotland cyclist Ross Edgar
Australian teenager Megan Dunn won the women's points race. The 19-year-old finished ahead of Lauren Ellis of New Zealand with Canadian world champion Tara Alice Whitten winning the bronze.
But all the controversy came in the keirin where Awang pulled his traditional wheelie in celebration as he crossed the line first.
However, judges ruled that he had impeded New Zealand's Van Velthooven in the final sprint and disqualified him.
BBC commentator Hugh Porter thought the decision was wrong.
"The rules are spoiling the keirin," he said. "The nature of the beast is six men fighting and bumping on the track.
"The best man won, but now he's not going to get his gold medal and that is a travesty."
Chris Boardman, a BBC Sport pundit and former Olympic cycling champion, added: "This is a beautiful event over-sanitised as far as I am concerned. I thought it was a great piece of craftmanship."
The controversial end to the final was not the only talking point in the keirin.
South Africa's Bernard Pierre Esterhuizen slid into Edgar in their semi-final, taking both riders out, but the incident was blamed on Shane Perkins and the Australian, who went on to win the semi-final, was later disqualified.
Perkins went on to win the race for seventh to 12th and gesticulated towards the judges as he crossed the line.
Edgar, who finished third in that race, told BBC Sport: "I'm a bit gutted [to miss out on the final] as the keirin was my main goal.
"But it was a harsh decision [to disqualify Perkins]. It was one of those things and I'd have been very disappointed if it had been the other way round.
"I don't think he was in the wrong and I have no hard feelings towards him.
"I came away unscathed though and I need to get my head ready for the sprint [at 1252 BST]."
Potenshöjande medel - köp viagra receptfritt