Health care administrators commonly employ two types of resource flexibilities (demand upgrades and staffing flexibility) to efficiently coordinate two critical internal resources, nursing staff and beds, and an external resource (contract nurses) to satisfy stochastic patient demand. Under demand upgrades, when beds are unavailable for patients in a less acute unit, patients are upgraded to a more acute unit if space is available in that unit. Under staffing flexibility, nurses cross-trained to work in more than one unit are used in addition to dedicated and contract nurses. Resource decisions (beds and staffing) can be made at a single point in time (simultaneous decision making) or at different points in time (sequential decision making). In this article, we address the following questions: for each flexibility configuration, under sequential and simultaneous decision making, what is the optimal resource level required to meet stochastic demand at minimum cost? Is one type of flexibility (e.g., demand upgrades) better than the other type of flexibility (e.g., staffing flexibility)? We use two-stage stochastic programming to find optimal resource levels for two nonhomogeneous hospital units that face stochastic demand following a continuous, general distribution. We conduct a full-factorial numerical experiment and find that the benefit of using staffing flexibility on average is greater than the benefit of using demand upgrades. However, the two types of flexibilities have a positive interaction effect and they complement each other. The type of flexibility and decision timing has an independent effect on system performance (capacity and staffing costs). The benefits of cross-training can be largely realized even if beds and staffing levels have been determined prior to the establishment of a cross-training initiative.