Lyons (2-0) handled the Royals on two hits over seven innings, yielding one run while walking one and striking out five in notching his second victory in two starts since being recalled last week from Class AAA Memphis.
The 25-year-old left-hander tossed 60 of his 89 pitches for strikes as the National League Central-leading Cardinals racked up their sixth win in seven games.
Ervin Santana (3-5) absorbed the loss for the Royals, surrendering four runs on seven hits over 7 1/3 frames.
Billy Butler provided the only RBI for reeling Kansas City, which dropped a seventh straight.
McPhee, Cokas 'working on their marriage' after affair
LGBT community has 'bullied the American people': Bachmann