Darrell Hill, the 2017 Diamond League champion, produced a big throw in the fifth round but fouled out of the circle. His fourth-round mark of 21.13m remained his best of the day.
Poland's Konrad Bukowiecki moved into fourth place with 21.35m in round five and improved to 21.91m with his final effort.
But there was no catching Walsh, who maintained his lead until the end.
"It gives me great confidence knowing that I can come out and perform all of the time," said Walsh, who has now thrown beyond 22 metres in six of his eight most recent competitions.
"I treat training and competition the same. I go in with the same intentions and the same routine. It's now paying off with regular 22 throws.
"I've been on the tour for six years now but my team and I learn something new every year," he added. "My season is coming right at the right time of year."