The reason that I commented out the cell reuse line is different than the 3 lines below it.

* If you are going to reuse a cell with Auto Layout like this, you need to make sure that when you ask for a cell to reuse, it is of the same "type" as the kind you need to use. In your case, that means the old reused cell must have the same number of labels (== same number of ingredients) as the current cell. In order to make this work, you need a separate reuse identifier string based on the number of labels/ingredients that the cell holds. Does that make sense?
* The 3 lines below (configuring the cell and setting up constraints) are important, because in order to be able to tell the auto layout engine to go and calculate the height that will be required for the cell, the auto layout engine needs to know what the cell looks like (in other words, what content/views it has, what constraints it has, etc). If you don't set up the cell the same way as it will be when actually returning it for use in the table view, the auto layout height calculations won't match up.