Grays with an admixture of blue, violet or certain shades of green will appear cool. It may be subtle, but almost no gray will be a perfect, neutral gray between warm and cool, partially because the pigments used are natural and have natural idiosyncrasies. Deep blues, like midnight blue or ultramarine, are fine complements. Indigo is a rich match in the purple range. For mid-tones, royal blue, orchid or dark turquoise work well. Periwinkle or a pastel cornflower are fine matches in the light range.
Warm and deep reds match warm grays skillfully. Indian red has a bit of neutral that creates a natural pairing with gray, as does a brick red. For more brilliance, try crimson or magenta. Goldenrod, canary and banana yellow are all colors of mid-range value that pack plenty of punch. For lighter values, try a yellow cream or light lavender.
Sticking with neutral colors is another way to find colors that match with gray and create their own simple color harmony. Monochrome, using only black, white and shades of gray, is a foolproof way to complement gray. While not very scintillating, it can have a classic feel. Earth tones, or colors based on browns or earthy greens, are another option. Khaki, olive, raw sienna, terre verte, yellow ocher and bisque are all options.