The weighted BFS algorithm that you learned in class DOES return the least costly path; rather than putting just the weight of the edge (u,v) into the PQ, it puts the weight of the path from starting node to v in the PQ. Take a look at the pseudocode from the slides:
Input: start node s, destination node t
•Put start (s,0,null) into min-priority queue.
•While queue not empty
–Poll minimum element (n,c,prev) off queue and mark n as visited.
–IF n equals t THEN return path
–FOR all (unmarked) successors n’ of n
•Put (n’,c+weight(n,n’),n) into priority queue
cheers
Christie