Navy blue is considered a neutral color, so it goes with a wide spectrum of other colors. But there are definitely some choices that are smarter and more stylish than others, as well as some choices you should avoid at all costs
Light blue shirts go especially well with navy blue jackets; they are in the same color family, but still stand out from each other. White shirts, too, are always a safe option, and are part of the "workplace casual" uniform that's been written about for years: Navy blue blazer, white shirt (with or without tie) and khaki pants.
For a more formal look, try matching a navy blue blazer with navy blue slacks; gray flannel trousers also create a smart, professional look.
Brown shoes with navy blue garments are okay, but black shoes generally get a heartier nod -- and by all means, match your belt with your shoes!
For ties, the rule of thumb is to stick with some sort of pattern (stripes are preferred) and to make sure the tie has a basic blue or gray tone in it, according to Leroy Fong's article "Dress Shirts & Ties to Match Navy Suits." "The rest can be of more striking colors, like red, pink, yellow, green," Fong advises.
What to Avoid
Stay away from black or white pants (white pants, for that matter, shouldn't ever be worn by men, unless you are a sailor). Don't match another dark color, like brown, with a navy blue blazer. And while some fashion bloggers say yellow, lavender and pink are acceptable choices, avoid bold, bright colors like loud greens, reds or oranges.