Ni made her debut in Zhang Yimou's The Flowers of War, playing the lead female character "Yu Mo". Zhang and his team started seeking cast members in 2007. As The Flowers of War is set in 1937 Nanjing, Zhang hoped to find a native actress to star in his film. Ni was eventually chosen, and became a new "Mou girl" like Gong Li and Zhang Ziyi. She received acclaim for her performance in the film and rose to fame. Producer Zhang Weiping spoke highly of her: "Born in 1988, she is young, yet her grasp of the figure is definitely accurate."