Skip to main content
Produced by Fit&Healthy with Acme

How to Grow Herbs Indoors

Tom Horvat

When it comes to the kitchen, I can never have enough fresh herbs. But with the rising cost of organic produce at grocery stores, the wasteful packaging of herbs, and my rapid use of them in the kitchen, it’s a bit pricy to keep the kitchen stocked!

Growing herbs outdoors is a simple enough task — put them in a pot, water them every so often, and clip some off when needed. But what if you’re living in an urban environment and don’t have much outdoor space? Is it still possible to grow herbs indoors?

The answer is a resounding yes. Not only is it possible, it’s easy! In this article, I’ll walk you through the basics of setting up your own indoor herb garden.

Location, Location, Location

Unless you decide to grow with  indoor grow lights , you’ll need to place your herb garden in a spot in your home that gets a decent amount of sunlight. For most people, this is a kitchen windowsill. Using a long-box style planter that’s about 6” deep works well for windowsills, as they line up nicely.

Choose a south-facing window to ensure your plants get as much sun as possible. Remember, the sun rises in the east and sets in the west, so locating your garden on a south-facing window exposes it to the sun most of the day.

4 Fantastic Herbs to Grow

The way I think about growing herbs indoors is simple:

    •    What do you use the most of in your cooking?

    •    What are the most expensive herbs to buy at the grocery store?


If you answer these two questions, you’ll know exactly what herbs you should grow indoors. That being said, there are some herbs that are much easier to grow indoors than others. Here are the top four herbs that I’m currently growing:

    1.     Basil  - A tried and true favorite, basil will thrive indoors and most of us use it abundantly in our cooking. Go with genovese basil for a classic basil flavor.

    2.     Mint  - Mint is a wonderful addition when baking goodies, but can get a bit out of hand if grown with other herbs. If you decide to grow mint, make sure to put it in its own pot.

    3.     Sage  - A wonderful cooking herb, sage grows easily indoors.

    4.     Thyme  - A slower grower, thyme will do well indoors provided you give it more time to establish itself.


Caring For Your Herbs

Care for an indoor herb garden is pretty simple:

    1.    Use a high-quality, well-draining  potting soil

    2.    Water when soil is dry to 1” deep (use a finger to test)

    3.    Scan your herb garden for any pest or disease issues on a weekly basis


That’s really all there is to it! So long as you located your garden in an area that gets a lot of light and follow steps 1-3 above, you should have a continual harvest of kitchen herbs!

Growing with Supplemental Lighting

If you want to supercharge your indoor kitchen herb garden, you might want to consider growing under artificial lighting. For the most bang for the buck, go with a mid-tier  LED grow light . LEDs are cost-effective, and put out more than enough light for your plants to thrive.

As far as your lighting schedule, get an outlet timer and mimic the sunlight, running your lights for 16 hours a day and having them off the other 8 hours. This schedule enables your herbs to grow well, but still take care of all of the vital growth processes that require darkness.

Go Forth and Grow Your Indoor Herb Garden!

There we have it — a simple guide to grow herbs indoors for your cooking. You can take this starter guide and expand it to have a huge herb garden overflowing with aromas and spices, but start small and build from there!

Article credit:  Foodista  /  CC BY
Photo credit:  pintando la luz Markus Spiske

eZ debug

Clear cache:

Quick settings:

Timing: Aug 03 2026 08:31:46
Script start
Debug: Aug 03 2026 08:31:46
object(SQLite3)#26 (0) {
}
Debug: Aug 03 2026 08:31:46
integer(false)
Timing: Aug 03 2026 08:31:46
Module start 'content'
Timing: Aug 03 2026 08:31:46
Module end 'content'
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/pagelayout/head/title.tpl:6[12] Aug 03 2026 08:31:46
Variable 'site_title' is already defined.
Error: eZTemplate Aug 03 2026 08:31:46
No such attribute for object(eZContentObject): innerContent
Choose one of following: 
Error: eZTemplate Aug 03 2026 08:31:46
Unknown template variable 'ibexa' in namespace ''
Error: eZTemplate Aug 03 2026 08:31:46
Unknown template variable 'ibexa' in namespace ''
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:1[0] Aug 03 2026 08:31:46
Variable 'bl_view_type' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:3[0] Aug 03 2026 08:31:46
Variable 'bl_params' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:6[0] Aug 03 2026 08:31:46
Variable 'bl_whitespace' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:17[0] Aug 03 2026 08:31:46
Variable 'bl_extra' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:30[0] Aug 03 2026 08:31:46
Variable 'bl_container' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:37[0] Aug 03 2026 08:31:46
Variable 'bl_skip' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:1[0] Aug 03 2026 08:31:46
Variable 'bl_view_type' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:3[0] Aug 03 2026 08:31:46
Variable 'bl_params' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:6[0] Aug 03 2026 08:31:46
Variable 'bl_whitespace' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:17[0] Aug 03 2026 08:31:46
Variable 'bl_extra' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:30[0] Aug 03 2026 08:31:46
Variable 'bl_container' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:37[0] Aug 03 2026 08:31:46
Variable 'bl_skip' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:1[0] Aug 03 2026 08:31:46
Variable 'bl_view_type' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:3[0] Aug 03 2026 08:31:46
Variable 'bl_params' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:6[0] Aug 03 2026 08:31:46
Variable 'bl_whitespace' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:17[0] Aug 03 2026 08:31:46
Variable 'bl_extra' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:30[0] Aug 03 2026 08:31:46
Variable 'bl_container' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/explayouts/block/block.tpl:37[0] Aug 03 2026 08:31:46
Variable 'bl_skip' is already defined.
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/content/views/standard/ng_article.tpl:7[0] Aug 03 2026 08:31:46
Variable 'node' is already defined.
Error: eZTemplate Aug 03 2026 08:31:46
Unknown template variable 'toolbar_macros' in namespace ''
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/content/views/standard/ng_article.tpl:7[0] Aug 03 2026 08:31:46
Variable 'node' is already defined.
Error: eZTemplate Aug 03 2026 08:31:46
Unknown template variable 'toolbar_macros' in namespace ''
Warning: eZTemplate:def @ extension/sevenx_themes_media/design/media/templates/content/views/standard/ng_article.tpl:7[0] Aug 03 2026 08:31:46
Variable 'node' is already defined.
Error: eZTemplate Aug 03 2026 08:31:46
Unknown template variable 'toolbar_macros' in namespace ''
Timing: Aug 03 2026 08:31:46
Script end

Main resources:

Total runtime0.0778 sec
Peak memory usage4,096.0000 KB

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0121 822.6719102.0859
Module start 'content' 0.01210.0089 924.757889.5000
Module end 'content' 0.02100.0568 1,014.2578547.5781
Script end 0.0777  1,561.8359 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00151.9087330.0000
SQLite3 Total
Looping result0.00121.49684500.0000
Template Total0.057674.020.0288
Template load0.00050.687720.0003
Template processing0.057073.299620.0285
Template load and register function0.00010.076010.0001
Override
Cache load0.00030.3834190.0000
Sytem overhead
Fetch class attribute can translate value0.00111.4699100.0001
XML
Image XML parsing0.00283.6327100.0003
General
dbfile0.00080.9988380.0000
String conversion0.00000.007720.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx_themes_media/design/media/templates/pagelayout.tplEdit templateOverride template
3explayouts/block/twig_block.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/twig_block.tplEdit templateOverride template
1pagelayout/header.tpl<No override>extension/sevenx_themes_media/design/media/templates/pagelayout/header.tplEdit templateOverride template
2explayouts/block/column.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/column.tplEdit templateOverride template
1pagelayout/breadcrumbs.tpl<No override>extension/sevenx_themes_media/design/media/templates/pagelayout/breadcrumbs.tplEdit templateOverride template
1explayouts/block/full_view.tpl<No override>extension/explayouts/design/standard/templates/explayouts/block/full_view.tplEdit templateOverride template
1explayouts/block/title.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/title.tplEdit templateOverride template
1explayouts/block/title/section_centered.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/title/section_centered.tplEdit templateOverride template
1explayouts/block/list.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/list.tplEdit templateOverride template
1explayouts/block/list/grid.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/list/grid.tplEdit templateOverride template
1explayouts/block/list/grid/3_columns.tpl<No override>extension/sevenx_themes_media/design/media/templates/explayouts/block/list/grid/3_columns.tplEdit templateOverride template
1content/views/standard/ng_article.tpl<No override>extension/sevenx_themes_media/design/media/templates/content/views/standard/ng_article.tplEdit templateOverride template
1pagelayout/footer.tpl<No override>extension/sevenx_themes_media/design/media/templates/pagelayout/footer.tplEdit templateOverride template
1setup/debug_toolbar.tpl<No override>design/standard/templates/setup/debug_toolbar.tplEdit templateOverride template
 Number of times templates used: 17
 Number of unique templates used: 14

Time used to render debug report: 0.0002 secs