The medical term for stomach rumbling is borborygmi.
The rumbling is caused by the movement of fluid and gas in our intestines.
Our digestive system is always moving. This movement is called peristalsis. This movement is coordinated to move food from our esophagus till our rectum.
To simplify things, there are 2 main phases of peristalsis:
Fasting (or pre-meal) phase and Non-fasting (or post-meal) phase.
Pre-meal phase of peristalsis
In between meals, the digestive tract is preparing for the next meal. There are contraction waves of the intestine that are used to clear the intestine of any residue. These contraction waves are often quite vigorous.
Just prior to the time of your next meal, your digestive tract is starting to "prime the pump" by producing stomach acid and increasing the stomach and intestinal peristalsis.
In this phase, the noisy rumbling is related to the contractions on an empty digestive tract signaling the need to eat.
These contraction waves usually last about 10 minutes.
Post-meal phase of peristalsis
Once you start to eat, the digestive tract increases its activity starting from stomach contractions, stomach acid production along with intestinal contractions, intestinal secretions and influx of fluid from the bile duct and the pancreatic duct.
In this phase, the rumbling is due the movement of lots of fluid and gas especially through narrowed zones from intestinal spasm creating turbulence.