Se estiver usando tomates frescos, comece fazendo uma pequena cruz na base de cada tomate e mergulhe-os em água fervente por cerca de 30 segundos. Isso facilitará a remoção da pele. Após esse processo, retire os tomates da água quente e coloque-os imediatamente em uma tigela com água fria para interromper o cozimento. Descasque os tomates, retire as sementes e pique-os em pedaços pequenos. Reserve.
Em uma panela grande, coloque bastante água para ferver. Adicione uma boa quantidade de sal (cerca de 1 colher de sopa para cada 2 litros de água) e, assim que começar a ferver, adicione o espaguete. Cozinhe a massa conforme as instruções da embalagem, até ficar "al dente". Escorra a massa e reserve. Separe 1 xícara de água do cozimento para ajustar a consistência do molho mais tarde.
Aqueça o azeite de oliva em uma panela em fogo médio. Adicione a cebola picada e refogue até ficar translúcida e levemente dourada. Acrescente o alho e refogue por mais 1-2 minutos, tomando cuidado para não queimar.
Adicione os tomates picados (ou o tomate pelado enlatado). Mexa bem e deixe os tomates começarem a se desfazer. Reduza o fogo e cozinhe o molho por cerca de 15 minutos, mexendo ocasionalmente. Se o molho parecer muito espesso, adicione um pouco da água do cozimento do macarrão para ajustá-lo à consistência desejada. Caso o molho esteja ácido, você pode adicionar uma pitada de açúcar para equilibrar os sabores.
Tempere o molho com sal e pimenta-do-reino a gosto. No final do cozimento, adicione algumas folhas de manjericão fresco para aromatizar e dar um toque fresco.
Assim que o molho estiver pronto, adicione o espaguete cozido diretamente à panela do molho, e misture bem para que a massa absorva os sabores.
Para servir, decore com folhas de manjericão fresco e, se desejar, acrescente uma generosa porção de queijo parmesão ralado por cima.