The focus of research efforts in cognitive radio networks (CRNs) has primarily remained confined to maximizing the utilization of the discovered resources. However, it is also important to enhance the user satisfaction in CRNs by finding a suitable match between the secondary users and the idle channels available from the primary network while taking into consideration not only the quality of service (QoS) requirements of the secondary users but the quality of the channels as well. In this work, the Gale Shapley matching theory was applied to find the best match, so that the most suitable channels from the available pool were allocated that satisfy the QoS requirements of the secondary users. Before applying matching theory, two objective functions were defined from the secondary user’s perspective as well as from the channel’s perspective. The objective function of secondary users is the weighted sum of the data rate of the secondary users and the probability of reappearance of the primary user on the channel. Whereas, the objective function of the channel is the maximum utilization of the channel. The weight factors included in the objective functions allow for diverse service classes of secondary users (SUs) or varying channel quality characteristics. The objective functions were used in developing the preference lists for the secondary users and the idle channels. The preference lists were then used by the Gale Shapely matching algorithm to determine the most suitably matched SU-channel pairs. The performance of the proposed scheme was evaluated using Monte–Carlo simulations. The results show significant improvement in the overall satisfaction of the secondary users with the proposed scheme in comparison to other contemporary techniques. Further, the impact of changing the weight factors in the objective functions on the secondary user’s satisfaction and channel utilization was also analyzed.