Cut ube or fresh yams into pieces so it fits your pot. Fill your pot with water to fully cover all pieces then bring to a boil. Cook until a fork goes through the ube with little resistance (about 30 minutes).
Fish yams out and allow to cool (about 10 minutes). While still warm, peel then mash yams with a fork or a potato masher (see notes).
In a large non-stick skillet or wok on medium heat, combine and stir 1 can evaporated milk and ½ cup brown sugar until the sugar is dissolved. Then add mashed yams, 1 can condensed milk and ½ tsp salt (see notes).
Begin stirring until the halaya thickens considerably. Stir constantly otherwise your halaya will burn. Don’t be tempted to switch to high heat either. Medium heat is the hottest you should go. Slow and steady does it.
Once your jam thickens (around the 20-minute mark), add butter and stir some more until the butter melts and is incorporated.
You know your ube is done when your jam pretty much stays in place when you drag your spoon down the middle of your pan (around 30 minutes). See notes.
Transfer to a heat-proof container, allow to cool, enjoy!
Video
Notes
This recipe yields a generous 3 cups (48 tbsp) of ube halaya.
If using frozen grated ube, use 2 454-g packs. Thaw before using. Skip steps 1 to 3.
If you prefer to grate your yams, simply run each piece through a cheese grater.
If you see big chunks of yam, smush them on the sides of your pan.
Whether you continue stirring after the ube jam is cooked is up to you; it depends on how thick or spreadable you want your jam to be. I usually stir until it becomes almost difficult to stir, another 10 minutes. Just remember that the halaya will continue to set and thicken as it cools and when it’s chilled in the fridge.
See post for the complete step-by-step photos as well as cooking tips.