Preheat oven to 250°F Spray large baking sheet or roasting pan with cooking oil spray and set aside.
In a large sauce pan, melt butter over low heat. Add next 3 ingredients and bring to a boil, stirring constantly. Cover, reduce heat and gently boil without stirring for 4-5 minutes.
Remove from heat and carefully add soda and vanilla (it will froth and foam). Mix real well.
Remove unpopped kernels from popcorn (see tip below). Spread popcorn (& nuts if using) out on pan. Pour caramel mixture over popcorn and mix well. Don't worry if every kernel isn't coated. It will get better distributed when you stir it while it is baking.
Bake 1 hour, stirring every 15 minutes. Cool completely. Break apart and store in tightly sealed container.
Tip: the easiest way to get the kernels out is to put all the popcorn in a large bowl. Shake it slightly so the kernels settle to the bottom of the bowl, then transfer the popcorn, handful by handful to the roasting pan, leaving the kernels behind.