Merritt clocked 12.80 seconds, beating the previous best of 12.87 set in 2008 by Cuba's Dayron Robles.
Merritt had said in recent weeks that he thought the world record was beatable given the right conditions. The 27-year-old American has dominated the event this year, with the most sub-12.95 seconds performances in a single season.
Triple Olympic champion Bolt, who shattered the 200 metres meet record at the previous Diamond League event in Zurich, pulled away towards the end of the 100 metres, crossing the line in 9.86 seconds, which is a modest time for him.
Compatriot and training partner Blake, who took silver twice behind Bolt in the sprints at this year's London Olympics and clinched gold in the sprint relay, was a clear winner in the 200 metres, already well ahead at the top of the bend.
Blake, who set a personal best and equalled the third-fastest time ever in the 100 at the Lausanne meeting in late August, won in 19.54 seconds, the third fastest time this year.
Earlier on Friday, Kenya's Emmanuel Kipkemei Bett ran the fastest 10,000 metres of the season in 26 minutes 51.16 seconds.