Recently cognitive radio has been proposed to solve the problem of spectrum scarcity with the help of an opportunistic utilisation of unused spaces in the spectrum. The implementation of cognitive radio for real-time application faces with the challenge of real-time media access control (MAC) design. To this end the authors propose an energy efficient cognitive radio MAC protocol with two level of quality of service (QoS) support: two level quality of service provisioning in cognitive radio (TQCR)-MAC. The data traffic in the cognitive radio network is classified as real-time traffic and non-real-time traffic, with former having higher priority over latter. The proposed protocol utilises variable interframe spaces for implementing different priorities to data and also exploits the combination of multiple channels and time division multiple access (TDMA) scheme to further improve the QoS provisioning. The TDMA slots in different channels are used as the data carrier segment, in which a real-time data can take over the time slots reserved by non-real-time data. Thus, non-real traffic may suffer from starvation, and hence a guarantee on the non-real-time data is provided with the help of a starvation prevention algorithm. The performance analysis of the proposed MAC protocol is done against two similar MAC protocols, which shows that the performance is improved significantly, especially when the network is either biased towards real-time or non-real-time data traffic.