Shakhtar Donetsk failed to secure the domestic double, losing to rivals Dynamo Kiev in the Cup final after winning the league for the fifth time in a row.
Dynamo took the lead in the 40th minute, with Kucher deflecting Croatian international Domagoj Vida's shot into his own net.
Three minutes later, Vida scored himself, heading in Veloso's cross from the left side of the pitch.
Shakhtar managed a consolation goal in 57th minute, through Douglas Costa, but could not find the equalizer. Dynamo thus won its tenth Ukrainian Cup, first after 2007.
Vida played 90 minutes, while Ognjen Vukojević came off the bench in the 71st minute, replacing Lens. Shakhtar and Croatia captain Darijo Srna was substituted in the 80th minute, and Eduardo Alves da Silva replaced Bernard in the 69th minute.