The emergence of MIMO antennas and channel bonding in 802.11n wireless networks has resulted in a huge leap in capacity compared with legacy 802.11 systems. This leap, however, adds complexity to optimizing transmission. Not only does the appropriate data rate need to be selected, but also the MIMO transmission technique (e.g., Spatial Diversity or Spatial Multiplexing), the number of streams, and the channel width. Incorporating these features into a rate adaptation (RA) solution requires a new set of rules to accurately evaluate channel conditions and select the appropriate transmission setting with minimal overhead. To address these challenges, our contributions in this work are two-fold. First, we propose a practical link metric that accurately captures channel conditions in MIMO 802.11n environments, and we call this metric diffSNR. Using diffSNR captured from real testbed environments, we build performance models that accuractely predict link quality in 95.5% of test cases. Practicality and deployability are guaranteed with diffSNR as it can be measured on all off-the-shelf MIMO WiFi chipsets. Second, we propose ARAMIS (Agile Rate Adaptation for MIMO Systems), a standard-compliant, closed-loop RA solution that jointly adapts rate and bandwidth, and we utilize the diffSNR-based 802.11n performance models within ARAMIS's framework. ARAMIS adapts transmission rates on a per-packet basis; we believe it is the first closed-loop, 802.11 RA algorithm that simultaneously adapts rate and channel width. We have implemented ARAMIS with diffSNR on Atheros-based devices and deployed it on our 15-node testbed. Our experiments show that ARAMIS accurately adapts to a wide variety of channel conditions with negligible overhead. Furthermore, ARAMIS outperforms existing RA algorithms in 802.11n environments with up to a 10-fold increase in throughput.