Anticipating multimedia file requests via caching at the small cell base stations (SBSs) of a cellular network has emerged as a promising technique for optimizing the quality of service (QoS) of wireless user equipments (UEs). However, developing efficient caching strategies must properly account for specific small cell constraints, such as backhaul congestion and limited storage capacity. In this paper, we address the problem of devising a user-cell association, in which the SBSs exploit caching capabilities to overcome the backhaul capacity limitations and enhance the users' QoS. In the proposed approach, the SBSs individually decide on which UEs to service based on both content availability and on the data rates they can deliver, given the interference and backhaul capacity limitations. We formulate the problem as a one-to-many matching game between SBSs and UEs. To solve this game, we propose a distributed algorithm, based on the deferred acceptance scheme, that enables the players (i.e., UEs and SBSs) to self-organize into a stable matching, in a reasonable number of algorithm iterations. Simulation results show that the proposed cell association scheme yields significant gains, reaching up to 21% improvement compared to a traditional cell association techniques with no caching considerations.