Was Abel eating meat soon after the Curse even though he wasn’t supposed to (Genesis 1:29)? After all, he kept the flocks and sacrificed an animal in Genesis 4:2–4, and it wasn’t until Genesis 9:3 that humanity was permitted to eat meat.
Matthew indicates that Abel was righteous and therefore was not being disobedient to God’s command to be vegetarian in Genesis 1:29.
. . . so that upon you may fall the guilt of all the righteous blood shed on earth, from the blood of righteous Abel to the blood of Zechariah, the son of Berechiah, whom you murdered between the temple and the altar. (Matthew 23:35)
So, as to why Abel was tending flocks, we need to consider that flocks can yield many other things besides food—such as wool, milk, leather, etc. A fattened lamb, for example, would produce a great deal of wool, had the most life ahead of it, and so on; hence, it was the most valuable.
So, when Abel sacrificed the fattened ones, he was offering his best—a true blood sacrifice. This sacrifice was acceptable to the Lord, as it mimicked what God did in making a blood sacrifice to cover Adam and Eve’s sins (see Hebrews 9:22 and Genesis 3:21).
The passage doesn’t indicate that Abel ate of the sacrifice; so, there is no reason to assume he did. When God sacrificed animals to cover Adam and Eve’s sin, there is no indication that they ate either. Since Abel mimicked what God did, then there is no reason to believe that he would have eaten from the sacrifice.
The first possibility of righteously eating the sacrifice would have been with Noah and his family after the Flood. When they sacrificed, God told them they were no longer restricted to a vegetarian diet (Genesis 8:20–9:3).