To understand the effect of rainfall on water flow down a slope, the flow region was divided into three layers-the homogenous water layer, mixed water-plant layer and finite thick soil layer. The flow of the water layer was governed by the Navier-Stokes equations. The vegetation and soil layers were both regarded as porous media and the laminar model modified from Biot's theory of poroelasticity was applied. The semi-analytical solutions were then obtained via the Runge-Kutta method. Three patterns-submerged vegetation, emergent vegetation and submerged-emergent vegetation-were discussed. Additionally, the effect of slope, rainfall intensity, thickness of soil layer and plant diameter on the flow were also discussed. The results are believed to be helpful in environmental and ecological engineering design and surface water management.