Heavily inspired by the newest Zelda; Breath of the Wild, this potion system is meant to simplify some of the thoughts I had on how I wanted to do alchemy. I can't take all the credit for this, as some of the ideas were brainstormed by anonymous contributors.
In order to create a potion, it requires an open flame, water, a flask or vial, and a cauldron. Ingredients must be mixed together. Each ingredient has an effect; Each type of ingredient grants a 1d6 roll to determine the potion's strengths for that effect. Each additional ingredient of the same type grants just +1 to the roll for that effect.
For example; If you make a potion with 3 healing shrooms, a healing butterfly wing, and an attack boosting chili pepper; you would roll 2d6+2 for Healing and 1d6 to calculate your attack bonus. This effect roll is how powerful the potion is when drunk or applied to a weapon in the case for poison.
When mixed; the ingredients in the potion disappear into a colorful, often glowing liquid that is clearly supernatural. Potions only have one day of 'shelf-life' before they lose their magic and turn back into a useless ingredient slurry. Potions with ongoing effects grant the drinker their power for one exploration turn, which is not related to their shelf life.
Whenever foraging or shopping for potion ingredients, roll on each list to see what you find. You don't know what they do if you find them in the wild unless you're a Sage of appropriate level or unless you have a book that can tell you- otherwise you'll have to experiment. Inferior ingredients only grant 1d4 for rolling their effects, Rare reagents like from high HD monsters can have 1d8 or higher for their potion effects.
Ingredients- Roll 1d6
 Herb or Fruit
 Animal Flesh or Bone
 Mushroom or Mold
 Insect or Arachnid
 Monster Part or Egg
 Powder or Salt
Effect- Roll 1d10
 Attack- For every 5 points of X; grants +1 to hit
 Protection- For every 5 points of X; grants +1 AC
 Elemental Resistance- Absorbs X of an Elemental Damage. The Elemental this ingredient resists is tied to its location and the creature; ie Fire Drake teeth grant Fire resistance, Moss from a swamp grants acid resistance, etc. Or determine randomly- (1d4- Fire, Cold, Lightning, Acid)
 Sensing- You gain the ability to see in the dark to a number of feet equal to X times 5. You also gain the ability the 'hear' loud sounds through walls, floor, or ceiling such as the sound of miners striking at rock or rushing water. Range of this ability is roughly equal to X feet.
 Mana- You can recover a spent spell slot in spell level equal to X or less. If you're using another system, count this as restoring +X mana points or adding +X to the next spellcrafting check.
 Healing- Restore X Health. If fed to a dying character with -X or more health, save to be revived
 Cure- Fights against the disease as though you had X days of bed rest. Incurable diseases are instead delayed by X days. Restores X points of attribute damage.
 Antidote- Reduce X Poison Damage from what you are suffering. Not a resistance; must be drank after you are poisoned. On save vs death poison, add +½ of X to your saving throw.
 Poison- Adds +X Poison Damage on first strike if applied to a sharp weapon or arrow. Target gets a save to resist the poison. Poison damage is rolled after the hit is confirmed.
 Stability- Adds +X number of days this potion will keep before spoiling.
Due to how strong some of these effects can be, especially with multiple potion ingredients of the same type, that is the reason for the potions short shelf-life. Stability-effect ingredients can be added to make them better and last longer of course.
Ingredients of the same effect and type have lesser effects then adding in multiple ingredients of the same effect but different type. However it doesn't make much sense for a bear's molar that can cure disease and camel fat halfway across the world that can also cure disease to be considered the “same” ingredient. You can choose to have each biome have its own set of ingredients that are counted as different ingredients in different biomes.
If you're the type to have weird, mutational, or potential dangerous potions with side effects then consider having a random saving throw whenever a tonic is ingested and have the player roll on the effects table if they fail the save. Whatever effect they roll is instead reversed for them; so if they roll Attack they fumble all of their attacks horribly, or they suddenly become very flammable and they'll take X bonus fire damage if so much as a torch brushes up against them.
Of course, these rules don't have to ever be the extent of your potions or tonic making adventures. Let players soak an ent's bark in a tonic and ingest it to gain barkskin for their protection tonics, or make it so any potion mixed with a dragon's heart becomes permanent, or can be poured out into a strange alchemical homunculus. But you were already thinking of doing that, weren't you?