There's something really satisfying about a project that looks simple from the outside but hides a little secret. That's exactly what this pattern is. From across the room, it's just a pretty crocheted tulip sitting in its own little pot. Pick it up, look closer, and you'll spot a heart worked right into the side of the pot — and if you peek inside the flower itself, there's a tiny crocheted heart tucked away as a surprise.
It's a lovely one to have in your hands as Valentine's Day gets closer, but honestly, it works year-round too. Swap the pink for any color combo you love and it becomes a sweet little gift for a birthday, a housewarming, or just because.
Full credit for the original concept goes to the maker who first shared this design — this pattern was adapted and written out step-by-step so you can follow along at your own pace.
Quick Overview
You'll be making four separate pieces and then assembling them:
- The pot — worked in the round, with a heart motif crocheted into the pattern using a color-change technique
- The petals (make 6) — wired so they hold their shape
- A leaf (make 1 or 2, your choice) — also wired
- A hidden heart — a tiny two-piece heart that sits tucked inside the flower
- A soil/base piece — this is what the stem and pebbles attach to before the whole flower gets seated into the pot
Materials
- Worsted weight yarn in your chosen colors. The original was made with white, green, and three shades of pink, but this is entirely up to you — pick whatever combination you love for the pot and flower.
- A crochet hook sized to your yarn (a 2.5mm hook was used for this project — go with whatever hook gives you a nice, firm gauge for your yarn weight).
- A wooden skewer stick (with the pointed end trimmed off) — this goes inside the stem for support.
- Scissors.
- Thin floral wire, roughly 1mm thick — flexible enough to shape but strong enough to hold the petals and leaf open.
- A yarn/wool needle for sewing pieces together and weaving in ends.
- Stitch markers (optional, but genuinely helpful for keeping track of your rounds).
- A small piece of acetate or similar stiff plastic sheet — this gives the base of the pot some structure.
- A few small natural stones or pebbles — used to weigh down and stabilize the flower's base inside the pot.
- A small amount of fiberfill or synthetic stuffing.
- A hot glue gun with silicone glue sticks.
Stitch Abbreviations Used
- ch — chain
- sc — single crochet
- hdc — half double crochet
- dc — double crochet
- inc — increase (2 sc worked into the same stitch)
- dec — decrease (2 stitches worked together as one)
- dec3 — a triple decrease (3 stitches worked together as one)
- sl st — slip stitch
- BLO — back loop only
- FLO — front loop only
A quick note on color changes throughout this pattern: instead of cutting and rejoining yarn every time a color changes, you carry the unused color loosely along the back of the work and pick it back up when you need it. This saves yarn, saves ends to weave in, and keeps the back of your work much tidier.
Part 1: The Pot
The pot is worked in a continuous spiral, closing each round with a slip stitch so the fabric stays straight rather than spiraling off to one side.
Round 1: Start with a magic ring. Work 6 sc into the ring, pull tight to close, and join with a sl st. (6 sts)
Round 2: Ch 1, then work an inc (2 sc) in every stitch around. (12 sts)
Round 3: Ch 1, then work the sequence "1 sc, inc" around the entire round. (18 sts)
Round 4: Ch 1, then work "2 sc, inc" around, alternating the increases evenly so the circle stays perfectly round. (24 sts)
Round 5: Ch 1, then work "3 sc, inc" around. (30 sts)
Round 6: Ch 1, then work "4 sc, inc" around, alternating placement so the increases stay evenly spaced. (36 sts)
Round 7: This is where you start building up the sides of the pot. Ch 1, then work 1 sc in the back loop only (BLO) of each stitch around. (36 sts)
Now the heart chart begins — Rounds 8–14
This is the fun part. You'll be switching between your main color (white in the original) and your accent color (pink), following the counts below exactly to build the heart shape. Remember: don't cut the yarn between color changes, just carry the color you're not using along the back and pick it back up when needed.
Round 8: 18 sc in white. On that 18th stitch, change to pink as you complete it. Work 1 sc in pink. Change back to white and finish the round with 17 sc in white. (36 sts total: 18 white + 1 pink + 17 white)
Round 9: 17 sc in white, changing to pink on the last stitch. Work 3 sc in pink, changing to white on the last of those three. Finish the round with 16 sc in white. (36 sts: 17 white + 3 pink + 16 white)
Round 10: 16 sc in white, changing to pink on the last stitch. Work 5 sc in pink, changing to white on the last one. Finish with 15 sc in white. (36 sts: 16 white + 5 pink + 15 white)
Round 11: 15 sc in white, changing to pink on the last stitch. Work 7 sc in pink, changing to white on the last one. Finish with 14 sc in white. (36 sts: 15 white + 7 pink + 14 white)
Round 12: Repeat Round 11 exactly the same way — 15 white, 7 pink, 14 white. (36 sts)
Round 13: This round shapes the little dip at the top of the heart. Work 16 sc in white, changing to pink on the last stitch. Work 2 sc in pink, changing to white on the last one. Work just 1 sc in white, then change to pink as you close it. Work 2 sc in pink, changing to white on the last one. Finish the round with 15 sc in white. (36 sts: 16 white + 2 pink + 1 white + 2 pink + 15 white)
Round 14: Work 1 sc in each stitch around, all in white — no back-loop-only here, just a regular full round. This completes and closes off the heart graphic. (36 sts)
Round 15: Ch 1, then work 1 sc in the front loop only (FLO) of each stitch around. Leave the back loops free — you'll use them later to sew the soil/base piece into the bottom of the pot. (36 sts)
Finishing the top edge
Fasten off and rejoin at the top if needed, then work a round of slip stitches around the top edge of the pot for a neat decorative border. When you reach the point where the rounds have been closing, work a slip stitch there too for a clean, tidy finish. Weave in your ends using the wool needle so nothing shows.
Part 2: The Petals (make 6)
Foundation: Chain 14.
Row 1: Starting in the 2nd chain from the hook:
- 1 sc
- 1 hdc
- 9 dc
- 1 hdc
- 3 sc all into the very last chain (this creates the rounded tip of the petal)
Now working back down the other side of the same chain:
- 1 hdc
- 9 dc
- 1 hdc
- 2 sc in the last two stitches
Join with a sl st to the first stitch to close the round.
Final round — adding the wire: Cut your working yarn, leaving a long tail of floral wire alongside your hook. Chain up and begin working sc around the entire outer edge of the petal, crocheting over the wire as you go so it's fully encased. When you reach the center point at each end of the petal, work 2 sc together in the same stitch so the tip curves in nicely instead of coming to a sharp point. Continue around the whole petal this way, then join with a sl st to your first stitch and fasten off.
Trim the wire so only a short length extends past the base of the petal — you don't want the stem too thick once all six petals are gathered together.
Repeat this entire process 6 times to make all 6 petals.
Part 3: The Leaf (make 1–2, your choice)
The leaf uses the exact same technique as the petals, just worked longer.
Foundation: Chain 20.
Row 1: Starting in the 2nd chain from the hook, work 1 sc, then 1 hdc, then dc across the row until you reach the last couple of stitches, working 1 hdc in the second-to-last stitch and 3 sc into the very last chain to form the tip. Turn and work back down the other side the same way: hdc, dc across, hdc near the end, and 2 sc in the last stitch. Join with a sl st to close.
Final round — adding the wire: Just as with the petals, work sc all the way around the outer edge, crocheting over a length of floral wire as you go, and working 2 sc together at both the tip and the base so the leaf curves smoothly. Join with a sl st, fasten off, and trim the wire close to the base.
Make one leaf, or two if you'd like a fuller look — it's entirely a style choice.
Part 4: The Hidden Heart (the surprise inside!)
This tiny heart tucks inside the flower where no one will see it until they look closely — a little hidden detail that makes the whole piece special. It's made from two small pieces joined together, then shaped with decreases.
Make 2 identical pieces:
Round 1: Magic ring, 6 sc into the ring, close. (6 sts)
Round 2: Inc in every stitch around. (12 sts)
Round 3: Sc in each stitch around, no increases. (12 sts)
Round 4: Sc in each stitch around, no increases. (12 sts)
Cut the yarn and fasten off on your first piece. On your second piece, leave the yarn attached — you'll use it to join the two halves together.
Joining the two lobes: Using your yarn needle (or continuing with your live stitch), join the two heart pieces together with slip stitches at the two points where they'll meet in the center, securing them into a heart shape.
Round 5 (worked around the joined heart): Work 10 sc evenly across one lobe, then 10 sc evenly across the second lobe. (20 sts)
Round 6: Sc in each stitch around, no shaping. (20 sts)
Round 7: Work 4 sc, dec, 8 sc, dec, 4 sc.
Round 8: Work 3 sc, dec3 (work 3 stitches together as one), 6 sc, dec3, 3 sc.
Round 9: Work 2 sc, dec3, 4 sc, dec3, 2 sc.
At this point, add a small pinch of stuffing inside the heart so it holds its shape.
Closing round: Finish by working straight decreases (sc2tog) around the remaining stitches until the opening closes up completely. Cut the yarn, leaving it a little long — you'll use this tail later to attach the finished heart to the top of the flower's stem base, so don't trim it short.
Part 5: The Soil / Base Piece
This piece is what everything else attaches to — the heart, the petals, the leaf, and the pebbles all get glued onto this base before it's seated into the pot.
Work it exactly like the base of the pot (Rounds 1–6 above), but this time do not close each round with a slip stitch — work it as a continuous spiral instead, and leave the very center magic ring unclosed so the stem can pass through it later.
Round 1: Magic ring, 6 sc. (6 sts) Round 2: Inc around. (12 sts) Round 3: "1 sc, inc" around. (18 sts) Round 4: "2 sc, inc" around. (24 sts) Round 5: "3 sc, inc" around. (30 sts) Round 6: "4 sc, inc" around. (36 sts)
Cut the yarn, leaving a long tail — you'll need this to sew the finished piece into the bottom of the pot at the end.
Assembly: Putting It All Together
- Prep the base support. Cut a small circle of acetate to fit inside the bottom of the pot. This gives the pot a flat, sturdy base and gives you something firm to anchor the stem to later.
- Set up the stem. Take your trimmed skewer stick (pointed end removed) and thread it through the unclosed magic ring in the center of your soil/base piece. Glue the little hidden heart onto the top of the stem, gathering and knotting all the front loop strands from the heart's opening securely around it.
- Attach the petals. Add a small dot of hot glue to the base of each petal and another small dot along its wire tail, then press it into place around the stem, just below the heart. Repeat with all 6 petals, spacing them evenly so they wrap around and conceal the heart and stem, fanning out into a tulip shape.
- Wrap the stem. Add a touch of hot glue to secure your working thread at the base of the flower, then wrap the thread down the length of the stem to cover the skewer and wire tails completely. Once you've covered the areas where the wires need hiding, you can trim any excess. Continue adding small dots of glue as you wrap to keep everything secure.
- Add the leaf. Position your leaf wherever you like the look of it best — many people like it sitting close to the base of the stem. You can hold the flower up against the pot as you go to get a feel for the placement before committing.
- Trim the stem to length. Hold the assembled flower against the inside of the pot to measure how much stem you actually need, then trim off any excess.
- Weight the base. Glue your small natural stones or pebbles around the base of the stem, right where it meets the soil piece, using a bit of silicone glue to fix them to the acetate circle. This keeps the flower standing upright and steady rather than tipping over inside the pot.
- Close up the soil piece. Before sewing the base into the pot, finish off the bottom of the soil piece with an invisible closure so there's no visible gap or seam.
- Seat the flower into the pot. Line everything up so the heart motif on the front of the pot faces the same direction as the front of your flower. Using the tail you left from Round 15 of the pot (the back loops you set aside earlier), sew around the entire base piece, catching a full stitch from the soil piece with each pass. As you go, gently guide the stuffing into place so the base stays nicely rounded and full — this helps the finished pot hold its shape properly.
- Finish and secure. Once you've sewn all the way around, tie off your yarn securely and tuck the tail down into the base to hide it. Give the whole piece one last look over, snip any stray ends, and you're done!
And that's it — a full pot of tulips with a heart worked right into the side, and a tiny hidden heart nestled inside the flower itself. It's a fun one to make in batches once you get the rhythm of the color changes down, and it's endlessly customizable — try it in reds and pinks for Valentine's Day, or switch it up with your own favorite palette for a gift that works any time of year.
If you make one, I'd love to see how your color combination turned out!




