The 26-year-old Ndiso clocked a personal best of 2 hours 12 minutes 34 seconds to win the men's crown and top prize of US $35,000.
Ndiso, whose previous best was 2:13:51 seconds at the Istanbul Marathon last October, completed the grueling 42.1 km course well ahead of Ethiopia's Siraj Gena, who clocked 2:13.58 seconds. Another Kenyan, Samson Limareng, was third in 2:24:24.
Ndiso's winning time was just off the course record set by compatriot and last year's winner Kenneth Mungara (2:1l:51), who skipped this year's race because of injury.
"It's my first victory in a marathon and I'm very happy. It's a very good course and I want to take part next year too if get invited. I made my move after 25-km as my body felt okay," said Ndiso, who has slowly graduated to road events from the 5,000 and 10,000 metres.
India's Binning Lyngkhoi of the Pune-based Army Sports Institute finished overall 11th with a timing of 2:20:12, just off the Commonwealth Games qualifying mark of 2:19 set by the Athletics Federation of India.
The Meghalaya-born Lyngkhoi beat back the challenge of roommate and last year's best Indian finisher, fellow-army runner Ram Singh Yadav of Uttar Pradesh, who clocked 2:21:02 to finish overall 12th.
Third-placed among Indians was Railways runner Arvind Yadav (2:22:50), who ended up 16th overall.
All the three failed to attain the qualifying mark for the Commonwealth Games and, like most trunners, blamed the hot and humid conditions for the slow timings.
"It was warm towards the end. I overtook my roommate Ram Singh at the 34-km mark. We train together," said Lyngkhoi, who hails from Shillong.
"We had promised yesterday we would attain the qualifying mark but it was hot and I got tired by the 38-km mark and struggled to finish the race. I'm happy for Lyngkhoi," three-time best Indian finisher Ram Singh Yadav said.
The women's race was a two-way battle between winner Bizunesh Mohammed (2:31:09) of Ethiopia and compatriot Haile Kebebush (2:31:11) -- the defending champion, the former surging ahead only in the last 100 metres.
Another Ethiopian, Azalech Masrecha (2:32:12), finished third.
Among Indian women, Shastri Devi was the best and 13th overall in 3:10:03, followed by Jyoti Gawate in 14th place (3:12:03), Indresh Dhiraj (3:29:37) in 16th place and 17th-placed Waheeda Khan (3:30:24). Kenya-born Frenchman Simon Munyutu, who was the early pace setter and marginally ahead at the 10 km stretch, later ran out of steam, and at the half-way mark it was Simon Kasmili led the field.
The scene again changed at the entrance of the Mumbai's engineering marvel - the Rajiv Gandhi Bandra-Worli Sea Link and the newest addition to the Marathon route, with Ndiso surging ahead of rest of the pack.
During the run on the 5.6 km stretch over the sea, he stepped up the pace and kept it steady to finish comfortably.
With the big lead he had established, the only point of interest for the Kenyan was whether he could break the course record, set by last year's winner and compatriot Mungara, who covered the distance in 2 hours 11 minutes 51 seconds.
However, Ndiso missed the mark by 44 seconds.
In the women's category, it was the Ethiopians who dominated all the way and claimed all the top-10 positions, with Mohammed finishing first (2:31:09).
Bizunesh was followed by Haile Kebebush (2:31:11) and Azalech Masrecha (2:32:12), respectively.
Second and third-placed overall finishers among both men and women became richer by US $24,000 and 15,000 respectively.
Top Indian finishers in the men's and women's sections received US $6,000 each.
India's Kumar Sandeep, finished first in the half marathon with a timing of 1:06:18. Western Railway ticket checker Soji Matthew (1:06:22) from Aleppey, Kerala and Army runner Akki Irappa (1:06:59)
from Karnataka ended up second and third respectively.
All the three said they now would graduate to the full marathon.
India's Jayshree Shivshankar Boarge (1:26:06) was the fastest woman in the half-marathon, followed by compatriots Nilam Kadam (1:26:24) and Reshma Dalvi (1.29.57).
Results:
Men: Denis Ndiso (KEN) 2.12.34; Siraj Gena (ETH) 2.13.58; Samson Limareng (KEN) 2.14.24; Jonathon Kibet (KEN) 2.14.29; Matthew K Bowen (KEN) 2.14.55; Fekadu Kedir (Ethiopia) 2:15:27.
Women: Bizunesh Mohammed (ETH) 2.13.09; Haile Kebebush (ETH) 2.31.11; Azalech Masresha (ETH) 2.32.12; Mulu Seboka (ETH) 2.32.46; Firehiwot Dado (ETH) 2.33.38.
Indian Men: Binning Lyngkhoi (IND) 2.20.12; Ram Singh Yadav (IND) 2.21.02; Arvind Yadav (IND) 2.22.50; Vikram Singh (IND) 2.23.17; Angad Kumar (IND) 2.24.03; Shivdan Singh 2:24:17.
Indian Women: Shastri Devi (IND) 3.10.03; Jyoti Gawate (IND) 3.12.03; Indresh Dhiraj (IND) 3.29.37; Waheeda Khan (IND) 3.30.24.
Half Marathon Men: Sandeep Kumar (IND) 1.06.18; Soji Mathew (IND) 1.06.22; Akki Irappa D (IND) 1.06.59; Ajay Kumar Patel (IND) 1.07.29; Khetaram Singh (IND) 1.08.44.
Half Marathon Women: Jayshree Shivshankar Boarge (IND) 1.26.06; Nilam Kadam (IND) 1.26.24; Reshma Dalvi (IND) 1.29.57.
Photograph: Sanjay Sawant
Video: Satish Bodas
Match Stats: Ban vs Ind, tri-series, match 6
Statistical highlights: Ind vs SL, 2nd ODI
Statistical highlights: Ind vs SL, tri-series
India edge Sri Lanka to win Rajkot ODI
Statistical highlights: Ind vs SL, 5th ODI