World number 42 Kasatkina, 19, was far too consistent on the South Carolina clay and sealed victory over fellow teenager Ostapenko, playing in her third WTA final, in 66 minutes.
The pair, big rivals on the junior circuit, exchanged breaks of serve early in the first set but from 3-3 Kasatkina took control of the match and went on to lose only one more game, while breaking Ostapenko twice more in the second set.
Sabalenka downs world number one Barty to claim Madrid crown
Kasatkina struck just six winners to Ostapenko's 25, but made only seven unforced errors to the Latvian's 38, and converted five of her seven break points.
Ostapenko had overcome former world number one Caroline Wozniacki and Australian Open semi-finalist Mirjana Lucic-Baroni on her way to the final, while Kasatkina had beaten Monica Puig, Daria Gavrilova, Irina-Camelia Begu and Laura Siegemund.
Zverev puts on Madrid masterclass to down Thiem in semis
Murray set to practice with Djokovic in Rome ahead of latest comeback