Efficient radio resource management is essential in Quality-of-Service (QoS) provisioning for wireless communication networks. In this paper, we propose a novel priority-based packet scheduling algorithm for downlink OFDMA systems. The proposed algorithm is designed to support heterogeneous applications consisting of both real-time (RT) and non-real-time (NRT) traffics with the objective to increase the spectrum efficiency while satisfying diverse QoS requirements. It tightly couples the subchannel allocation and packet scheduling together through an integrated cross-layer approach in which each packet is assigned a priority value based on both the instantaneous channel conditions as well as the QoS constraints. An efficient suboptimal heuristic algorithm is proposed to reduce the computational complexity with marginal performance degradation compared to the optimal solution. Simulation results show that the proposed algorithm can significantly improve the system performance in terms of high spectral efficiency and low outage probability compared to conventional packet scheduling algorithms, thus is very suitable for the downlink of current OFDMA systems