We propose joint user-and-hop scheduling over dual-hop block-fading broadcast channels in order to exploit multi-user diversity gains and multi-hop diversity gains all together. To achieve this objective, the first and second hops are scheduled opportunistically based on the channel state information. The joint scheduling problem is formulated as maximizing the weighted sum of the long term achievable rates of the users under a stability constraint, which means that in the long term the rate received by the relay should equal the rate transmitted by it, in addition to power constraints. We show that this problem is equivalent to a single-hop broadcast channel by treating the source as a virtual user with an optimal weight that maintains the stability constraint. We show how to obtain the source weight either off-line based on channel statistics or on real-time based on channel measurements. Furthermore, we consider special cases including the maximum sum-rate scheduler and the proportional fair scheduler. We also show how to extend the scheme into one that allows multiple user scheduling via superposition coding with successive decoding. Numerical results demonstrate that our proposed joint scheduling scheme enlarges the rate region as compared to scheduling schemes that exploit the diversity gains partially.