6 fish richest in vitamin D for bone and immune systems VnExpress Fish are rich in vitamin D because they consume plankton that absorb UV rays from sunlight, with rainbow trout, mackerel, salmon, herring, sardines, and tuna leading the list.