Bett, 36, finished the 42km race in two hours, 12 minutes and 40 seconds.
He was followed by last year's winner, countrymen Jonathan Kipkorir, who clocked 2:14.05 and with third place going to another Kenyan, Edwin Kimutai, in 2:15.21.
"It is my first marathon victory and I feel good. It is a difficult course with a lot of hills and up and downs. If I am invited next year I will break the course record (set in 2004 by Italian Stefano Baldini in 2:10.55)," Bett said.
The women's race was won by Lithuania's Rasa Drazdaukaite in a time of 2:31.06
"It was a bit hot but I managed to finish okay," she said.
More than 12 000 runners from 88 countries took part in the race.
RESULTS
Men
1. Raymond Bett (KEN) 2:12.40
2. Jonathan Kipkorir (KEN) 2:14.05
3. Edwin Kimutai (KEN) 2:15.21
4. Henryk Szost (POL) 2:15.28
5. Radoslav Gavdzielewski (POL) 2:15.45
Women
1. Rasa Drazdaukaite (LTU) 2:31.06
2. Olga Glok (RUS) 2:33.51
3. Svitlana Stanko (UKR) 2:38.59
4. Eri Hayakawa (JPN) 2:40.25
5. Konstantina Kefala (GRE) 2:40.36