Yes, Indian passport holders need a Schengen visa to visit Spain. You must apply at the BLS International visa application centre in your city before travelling. The visa allows you to stay in Spain and other Schengen countries for up to 90 days within a 180-day period. Without a valid visa, you will not be allowed to board your flight or enter Spain.