How Long Does the Flu Shot Last? The effectiveness of a flu shot can vary each year due to different flu strains. Generally, a flu shot provides protection for about six to eight months. It's recommended to get a new flu shot annually for optimal immunity.