Sugiro as seguintes tabelas:
a) Receita - nome, descrição, ingrediente e outras informações
b) Ingrediente - nome, descrição, fromstore (sim ou nenhum valor se for comprado em loja), recipieid (o id da receita deste ingrediente). Isso permite que os ingredientes tenham receitas
c) recipie_ingredients - recipieid, ingrediente (basicamente isso liga uma receita aos seus ingredientes)
O conselho está correto, pois você pode acabar em um loop circular de ingredientes para receitas etc.
ATUALIZAÇÃO:Eu recomendaria adicionar uma coluna isingridient à receita para que apenas as receitas conhecidas como ingredientes sejam selecionáveis para adicionar à tabela de ingredientes. Isso pode ajudar a reduzir as chances de referências circulares