Jason Kenny took gold in the men's keirin final.
Katarzyna Pawlowska of Poland retained her title in the women's scratch race, winning ahead of Sofia Arreola Navarro of Mexico and Russia's Evgeniya Romanyuta.
Yates scored 35 points in the 40-kilometer, 160-lap race with 16 sprints. Eloy Teruel Rovira of Spain was a point behind for second. Russia's Kirill Sveshnikov had 30 for third.
''It worked out perfectly,'' Yates said. ''It's a long race, there's no point spending all your money in the first half. I saved my energy and luckily I had it in the end.''
Kenny, a three-time Olympic champion, edged Maximilian Levy of Germany by 0.047 seconds to claim his second world title. Matthijs Buchli of the Netherlands was 0.224 seconds behind for third.
Kenny finished fourth in the semifinals, but got his spot in the final when Francois Pervis and Scott Sunderland were both disqualified.
''It was a big fortune in the semifinal, I think, when Pervis got relegated there,'' Kenny said.
In the final, Kenny powered from behind on the last straight to finish a wheel ahead of Levy.
''It was a dream ride. I couldn't have written it any better if I'd tried,'' Kenny said.
In the women's scratch race, Caroline Ryan of Ireland pulled away from the pack with 13 laps left but was chased down by Pawlowska and Arreola Navarro two laps later.
The pair overtook the Irish rider with eight laps to go and Pawlowska rushed ahead with 500 meters left.
''The victory was not an easy one for me,'' Pawlowska said. ''My strategy was not to allow my opponents to attack. . I realized that I was winning when I saw my advantage with one lap to go.''