Garzelli grabs glory in Frankfurt