We construct a Heston-type stochastic volatility model with a Markov switching regime for a stock option price. An analytic solution which contains a matrix ODE is obtained and numerically calculated. Our model is flexible enough to induce a wide variety of volatility surfaces with both flat and steep smiles/smirks for the same parameter values but different regimes.