Here's one fairly basic variant:

\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
[
black filler/.style={outer color=black, inner color=black!50, postaction={fill=black, fill opacity=.5}}
]
\path (-130:1.15 and .8) node [draw=black, rotate=-130, fill=black, rounded corners=2pt, isosceles triangle, minimum width=.25] {};
\path (-50:1.15 and .8) node [draw=black, rotate=-50, fill=black, rounded corners=2pt, isosceles triangle, minimum width=.25] {};
\draw [black filler] (0,0) circle (1.25 and .9);
\draw [inner color=black!25, outer color=black] (0,0.75) ellipse (1 and 0.25);
\path [inner color=gray, outer color=gray!75!black] (0,0.75) ellipse (0.85 and 0.175);
\end{tikzpicture}
\end{document}
EDIT
Here's a pic version. The pic is called cauldron and takes 3 arguments: the first is a size e.g. 1 or 10pt or 2cm; the second and third are the colours of the cauldron's contents. The size determines the relative size of the cauldron.
Not sure what you are cooking up, but think of Halloween....
\PassOptionsToPackage{svgnames}{xcolor}
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shapes.geometric,shadows}
\begin{document}
\tikzset{
cauldron filler/.style={draw=black, outer color=black, inner color=black!50, postaction={fill=black, fill opacity=.5}},
legs/.style={draw=black, fill=black, rounded corners=2pt, isosceles triangle, minimum width=.25},
cauldron glow/.style={circular glow={fill=#1}},
rim filler/.style={inner color=black!50, outer color=black},
liquid/.style={inner color=#1, outer color=#1!75!black},
pics/cauldron/.style n args=3{
code={
\path (-130:1.15*#1 and .8*#1) node [rotate=-130, legs] {};
\path (-50:1.15*#1 and .8*#1) node [rotate=-50, legs] {};
\path [cauldron filler] (0,0) circle (1.25*#1 and .9*#1);
\path [rim filler] (0,0.75*#1) ellipse (.975*#1 and 0.255*#1);
\path [cauldron glow=#2] (0,.75*#1) circle (.75*#1 and .18*#1);
\path [liquid=#3] (0,0.75*#1) ellipse (0.825*#1 and 0.1725*#1);
}
}
}
\begin{tikzpicture}
\path (0,0) pic {cauldron={1}{Silver}{gray}} ++(2.75,0) pic {cauldron={.75}{Silver}{Lime}} ++(2,0) pic {cauldron={.5}{Chartreuse}{ForestGreen}} (-2.75,0) pic {cauldron={.75}{Silver}{Crimson}} ++(-2,0) pic {cauldron={.5}{Red}{Maroon}};
\end{tikzpicture}
\end{document}

EDIT 2
And here's one with a rim and 'fuzzier' contents:
\PassOptionsToPackage{rgb,x11names,svgnames,dvipsnames}{xcolor}
\documentclass[tikz,border=5pt,multi]{standalone}
\usetikzlibrary{shapes.geometric,shadows}
\begin{document}
\tikzset{
cauldron filler/.style={draw=black, outer color=black, inner color=black!50, postaction={fill=black, fill opacity=.5}},
legs/.style={draw=black, fill=black, rounded corners=2pt, isosceles triangle, minimum width=.25},
cauldron glow/.style={circular glow={fill=#1}},
rim drop/.style={rim filler, postaction={fill=#1!75!black, path fading=fuzzy ring 15 percent}},
rim filler/.style={inner color=black!50, outer color=black, draw=black},
fuzzy liquid/.style={inner color=#1, outer color=#1!75!black, path fading=circle with fuzzy edge 10 percent},
pics/rimmed cauldron/.style n args=3{
code={
\path (-130:1.15*#1 and .8*#1) node [rotate=-130, legs] {};
\path (-50:1.15*#1 and .8*#1) node [rotate=-50, legs] {};
\path [cauldron filler] (0,0) circle (1.25*#1 and .9*#1);
\path [rim drop=#2] (0,0.75*#1) ++(0,-.0125*#1) ellipse (.975*#1 and 0.275*#1);
\path [rim filler] (0,0.75*#1) ellipse (.975*#1 and 0.255*#1);
\path [cauldron glow=#2] (0,.75*#1) circle (.75*#1 and .18*#1);
\path [fuzzy liquid=#3] (0,0.75*#1) ellipse (0.825*#1 and 0.1725*#1);
}
}
}
\begin{tikzpicture}
\path pic {rimmed cauldron={1}{Silver}{Turquoise}};
\end{tikzpicture}
\end{document}
