Understanding the processes maintaining species diversity is a central problem in ecology, with implications for the conservation and management of ecosystems. Although biologists often assume that trait differences between competitors promote diversity, empirical evidence connecting functional traits to the niche differences that stabilize species coexistence is rare. Obtaining such evidence is critical because traits also underlie the average fitness differences driving competitive exclusion, and this complicates efforts to infer community dynamics from phenotypic patterns. We coupled field-parameterized mathematical models of competition between 102 pairs of annual plants with detailed sampling of leaf, seed, root, and whole-plant functional traits to relate phenotypic differences to stabilizing niche and average fitness differences. Single functional traits were often well correlated with average fitness differences between species, indicating that competitive dominance was associated with late phenology, deep rooting, and several other traits. In contrast, single functional traits were poorly correlated with the stabilizing niche differences that promote coexistence. Niche differences could only be described by combinations of traits, corresponding to differentiation between species in multiple ecological dimensions. In addition, several traits were associated with both fitness differences and stabilizing niche differences. These complex relationships between phenotypic differences and the dynamics of competing species argue against the simple use of single functional traits to infer community assembly processes but lay the groundwork for a theoretically justified trait-based community ecology.