The 19-year-old, building up to next month's Commonwealth Games in New Delhi, won her event on Thursday in 1min 58.16sec, a week after a miserable performance at the Italian venue of Rovereto where she was ninth.
"At Rovereto, things didn't go the way I had expected, but here in Milan I did much better," said Semenya.