In this paper, the problem of uplink user association in small cell networks, which involves interactions between users, small cell base stations, and macro-cell stations, having often conflicting objectives, is considered. The problem is formulated as a college admissions game with transfers in which a number of colleges, i.e., small cell and macro-cell stations seek to recruit a number of students, i.e., users. In this game, the users and access points (small cells and macro-cells) rank one another based on preference functions that capture the users' need to optimize their utilities which are functions of packet success rate (PSR) and delay as well as the small cells' incentive to extend the macro-cell coverage (e.g., via cell biasing/range expansion) while maintaining the users' quality-of-service. A distributed algorithm that combines notions from matching theory and coalitional games is proposed to solve the game. The convergence of the algorithm is shown and the properties of the resulting assignments are discussed. Simulation results show that the proposed approach yields a performance improvement, in terms of the average utility per user, reaching up to 23% relative to a conventional, best-PSR algorithm.