The two-layer hypothesis of tree-grass coexistence posits that trees and grasses differ in rooting depth, with grasses exploiting soil moisture in shallow layers while trees have exclusive access to deep water. The lack of clear differences in maximum rooting depth between these two functional groups, however, has caused this model to fall out of favor. The alternative model, the demographic bottleneck hypothesis, suggests that trees and grasses occupy overlapping rooting niches, and that stochastic events such as fires and droughts result in episodic tree mortality at various life stages, thus preventing trees from otherwise displacing grasses, at least in mesic savannas. Two potential problems with this view are: 1) we lack data on functional rooting profiles in trees and grasses, and these profiles are not necessarily reflected by differences in maximum or physical rooting depth, and 2) subtle, difficult-to-detect differences in rooting profiles between the two functional groups may be sufficient to result in coexistence in many situations. To tackle this question, I coupled a plant uptake model with a soil moisture dynamics model to explore the environmental conditions under which functional rooting profiles with equal rooting depth but different depth distributions (i.e., shapes) can coexist when competing for water. I show that, as long as rainfall inputs are stochastic, coexistence based on rooting differences is viable under a wide range of conditions, even when these differences are subtle. The results also indicate that coexistence mechanisms based on rooting niche differentiation are more viable under some climatic and edaphic conditions than others. This suggests that the two-layer model is both viable and stochastic in nature, and that a full understanding of tree-grass coexistence and dynamics may require incorporating fine-scale rooting differences between these functional groups and realistic stochastic climate drivers into future models.