The Royals improved to 27-14, the best record in the majors, while the Cardinals dropped to 27-15, best in the National League.
Morales, who leads the American League with 37 RBIs, hit a three-run homer with two out in the first. He homered again in the third with Lorenzo Cain aboard for his 13th multihomer game. The five RBIs matched a Royals' season high.
Young (4-0) got 13 flyball outs and struck out two. In Young's four starts, he has allowed one earned run in 22 1-3 innings (0.40 ERA).
Royals starters Young, Edinson Volquez, Yordano Ventura and Jeremy Guthrie have combined to throw 26 shutout innings while allowing 18 hits in the past four games.