Navy blue is considered a neutral colour, so it goes with a wide spectrum of other colours. 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 colour 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 trousers.
For a more formal look, try matching a navy blue blazer with navy blue slacks; grey flannel trousers also create a smart, professional look.
Brown shoes with navy blue garments are OK, 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 grey tone in it, according to Leroy Fong's article "Dress Shirts & Ties to Match Navy Suits." "The rest can be of more striking colours, like red, pink, yellow, green," Fong advises.
What to Avoid
Stay away from black or white trousers (white trousers, for that matter, shouldn't ever be worn by men, unless you are a sailor). Don't match another dark colour, like brown, with a navy blue blazer. And while some fashion bloggers say yellow, lavender and pink are acceptable choices, avoid bold, bright colours like loud greens, reds or oranges.