The Saints got to a perfect start with James Ward-Prowse stepping up to convert an 11th-minute penalty after Nampalys Mandy's rash challenge on Shane Long in the area.
In first-half stoppage time, Long got a goal of his, doubling the visitors' advantage few minutes after they were reduced to ten men with Yan Valery sent off.
After the break, Claude Puel's side push for redemption saw Ndidi's body convert a cross from Ricardo Pereira in the 58th minute.
Ralph Hasenhuttl's side held on for an important victory at the King Power Stadium to help them move out of the relegation zone.
Meanwhile, seventh-placed Leicester will hope for a much better fortune when they visit the Molineux to take on Wolverhampton Wanderers next week.