Malm's goal wiped out a strong second half comeback by Ames, who rallied from a 2-0 deficit to tie the score with 15 minutes in regulation.
After a scoreless first half, Courtney Crandell struck first for Roosevelt, scoring on a penalty kick 46:21 into the match. Malm gave the Roughriders a 2-0 lead six minutes later.
Ames rallied and tied the score on a Jessie Swain goal.
Des Moines Roosevelt, last year's state soccer runner-up, improves to 13-1. Ames ends its season at 15-6.
DES MOINES ROOSEVELT 3, AMES 2
Ames 0 2 -- 2
Des Moines Roosevelt 0 3 -- 2
Scoring
DMR - Courtney Crandell (Penalty Kick), 46:20
DMR - Meggie Malm, 51:13
Ames - Amanda Conley (Penalty Kick), 65:30
Ames - Jessi Swaim, 67:30
DMR - Malm (Kate Walker), 79:55