This paper explores the use of rate adaptation in cellular networks to maximize throughput of long-lived TCP sessions. We focus on the problem of maximizing the throughput of TCP connections and propose a joint optimization of MAC and physical layer parameters with respect to TCP sending rate. In particular, we propose a simple TCP-aware channel scheduler that adapts the wireless channel rate to changes in the TCP sending rate and explore its performance for both single and multiple concurrent sessions. In the case of a single TCP session, we develop a fluid model of its steady-state behavior in such a system that adapts between two channel rates. Our results indicate that a two-rate scheme improves TCP throughput by 15% to 20% over a system that does not exploit rate adaptation and that little additional benefit accrues from the addition of a third channel rate. Finally, we extend the framework to scenarios where bandwidth is shared by multiple TCP sessions. We propose two channel allocation algorithms and explore their performance through simulation. Our results indicate that TCP throughput is relatively insensitive to either channel allocation algorithm and adaptive rate variation is the dominant factor in performance.