The paper studies fair scheduling with quality of service (QoS) support in ad hoc networks. The goal is to satisfy the minimum bandwidth requirements of guaranteed flows and to provide a fair share of residual bandwidth among all flows. We propose a new cluster-based mechanism called two-tier slot allocation protocol (2TSAP), which improves system throughput and ensures per-cluster fairness while satisfying the requirements of guaranteed flows. With 2TSAP, the network is logically partitioned into clusters, each with a scheduler. The scheduler assigns time slots to mobiles in the affiliated clusters based on the first tier algorithm. The mobiles scheduled to send at the next time slot then in turn assign the time slot to flows determined by the second tier algorithm. We compare the performance of 2TSAP with Q EMLM-FQ, a virtual-time based fair scheduling mechanism with QoS support. The simulation results show that 2TSAP meets the minimum requirements of guaranteed flows, shares the residual bandwidth fairly among all flows, and improves overall system throughput.