Background Inadequate levels of immunization against childhood diseases remain a significant public health problem in resource-poor areas of the globe. Nonetheless, the reasons for incomplete vaccination and non-uptake of immunization services are poorly understood. This study aimed at finding out the reasons for non-vaccination and the magnitude of missed opportunities for vaccination in children less than two years of age in a rural area in southern Mozambique. Methods Mothers of children under two years of age (N = 668) were interviewed in a cross-sectional study. The Road-to-Health card was utilized to check for completeness and correctness of vaccination schedule as well as for identifying the appropriate use of all available opportunities for vaccination. The chi-square test and the logistic regression were used for statistical analysis. Results We found that 28.2% of the children had not completed the vaccination program by two years of age, 25.7% had experienced a missed opportunity for vaccination and 14.9% were incorrectly vaccinated. Reasons for incomplete vaccination were associated with accessibility to the vaccination sites, no schooling of mothers and children born at home or outside Mozambique. Conclusion Efforts to increase vaccination coverage should take into account factors that contribute to the incomplete vaccination status of children. Missed opportunities for vaccination and incorrect vaccination need to be avoided in order to increase the vaccine coverage for those clients that reach the health facility, specially in those countries where health services do not have 100% of coverage.