In this study, the authors examine resource allocation in an orthogonal frequency-division multiple-access-based cognitive radio (CR) network which dynamically senses primary users (PUs) spectrum and opportunistically uses available channels. The aim is resource allocation such that the CR network throughput is maximised under the PUs maximum interference constraint and cognitive users (CUs) transmission power budget. This problem is formulated as a mixed-integer non-linear programming problem which is 𝒩𝒫-hard in general and infeasible to solve in real-time. To reduce the computational complexity, the authors decouple the problem into two separate steps. After initial power allocation, in the first step, an adaptive algorithm is employed to assign subcarriers to the CUs toward throughput maximisation by using these initial powers. In the second step, power is allocated optimally to the assigned subcarriers. Simulation results show that the proposed method nearly achieves the optimal solution in a small number of iterations meaning significant reduction in the computational complexity.