Segundo o Dicionário Etimológico da Língua Portuguesa, de José Pedro Machado, maravilha, atestado desde o século XIII, evoluiu do latim 'mirabĭlĭa', «coisas admiráveis», plural neutro substantivado do adjectivo 'mirabilis', «admirável, maravilhoso, espantoso, singular».
Maravilhar (incluindo a forma na conjugação pronominal reflexa maravilhar-se) é um verbo derivado de maravilha, já no âmbito da própria língua portuguesa.
Milagre provém de 'mirācŭlu-', «prodígio, maravilha, coisa extraordinária» (José Pedro Machado, op. cit.). A palavra terá sofrido influência culta, provavelmente eclesiástica. Na Idade Média existiu a forma intermédia "miragre".